想匹配/&[a-zA-Z]*;/
,但不匹配/&/
,怎么实现呢?可以用正则直接实现吗?
在JavaScript中,你可以使用以下正则表达式来匹配“且”和“连续字符的不匹配”:
^([a-zA-Z]|&|{|})(?<!\d)([a-zA-Z]{1,10}|&|{|})(?<!\d)([a-zA-Z]{1,10}|&|{|})$
这个正则表达式的含义如下:
^
表示字符串的开始位置([a-zA-Z]|&|{|})
匹配任何字符(包括空格、制表符、换页符等)一次或者多次(?<!\d)
是一个非捕获组,它阻止匹配数字([a-zA-Z]{1,10}|&|{|})
匹配任何字符(包括空格、制表符、换页符等)一次或者多次,最多匹配10个字符例如,如果你要匹配以下的字符串:
"test"
"test&test"
"test1&test2"
那么,这些字符串都会被匹配。