我想只匹配“A”并排除“xyz”:
ABC xyz
但是使用
A[^xyz]
匹配
AB
编辑:我知道这个例子没有多大意义(如果我只想匹配A
,我只会使用A
作为正则表达式。但它说明了我遇到的问题,每当我添加匹配模式后跟[^xyz]
形式的排除模式时,匹配模式似乎总是匹配额外的不需要的字符,(在此示例中为B
。)
答案 0 :(得分:2)
A[^xyz]
匹配A*
,其中*
是不 x,y或z中的任何字符。
有关详细信息,请参阅此页面:http://www.regular-expressions.info/charclass.html#negated
如果要匹配任何字符串中的任何A
,请使用正则表达式A
。不过,我认为您所寻找的是A
xyz
后面没有{{1}}。为此,请使用正则表达式A(?!xyz)
,它实现Negative Lookahead。
答案 1 :(得分:2)
如果你只想匹配一个A
,那就是你的正则表达式。
A
看起来你正试图说“匹配一个不是x,y或z的A”,这当然是多余的。