使用正则表达式,我需要测试字符串是否包含A.但字符串不能包含B或C.
什么是REGEX语法?
答案 0 :(得分:2)
您可以使用以下正则表达式:
将匹配包含A
但未包含C
或B
的任何字词
匹配bar
但不包含car
或foo
的字词的正则表达式是:
答案 1 :(得分:0)
实际上......以下方法并不太糟糕:
^(?!.*are)(?!.*how).*(hello)
如果您不想要are
或how
,但想要hello
。围绕hello
的parens是可选的,并且“捕获”你想要的位而不是整个字符串。
答案 2 :(得分:0)
试试这个:
^(?!.*[BC]).*A.*
我认为这是最小的正则表达式。
答案 3 :(得分:0)
如果你想检查整个字符串是否包含A而不是B或C,你可以使用否定的character class来匹配B,C或换行符。
<强>详情
^
在行首处断言位置[^BC\n]*
匹配零次或多次而非B
或C
或换行符A
按字面意思匹配[^BC\n]*
匹配零次或多次而非B
或C
或换行符$
断言行尾的位置