总的来说:我如何使用正则表达式规则匹配单词的a)开头,b)整个单词,c)结尾?
更具体地说:我如何匹配长度>=1的表达式,满足以下规则:
- 它不能包含以下任何一个字符:! @ #
- 它不能以空格或=开头
- 它不能以空格结尾
我尝试了:
^[^\s=][^!@#]*[^\s]$
但是^[^\s=]
匹配会跳过单词的第一个字符。因此,它也会匹配以'!'、'@'或'#'开头的单词(例如:'#ab'或'@aa')。这也要求单词至少有2个字符(一个不是空格或等号的开头字符-和-一个非空格字符在结尾)。
我得到:
^[^\s=(!@#)]\1*$
对于第一和第二规则的正则表达式匹配,但如何在允许长度为1的单词的情况下匹配没有尾随空格的单词?