我需要匹配任何以"&"结尾的行。但不包含","或"&"介于两者之间。
a b c &
a, b, c, &
a & b, c &
a & b
通过使用:
,我获得了部分成功^(?!.*,).*&.*$
我得到了两个:
a b c &
a & b
所以我用
尝试了^(?!.*(,|&)).*&.*$
我无法得到任何比赛。如何修改我的正则表达式,这样我才能获得a b c &
?我正在使用.NET
答案 0 :(得分:3)
似乎你应该通过使用否定的字符类来获得你需要的东西,例如
\s*
使用多行标记。
如果您不想按照revo的建议允许尾随空格,则可以\r?
替换[^,&\n]
。
如果您正在使用多行文本(而不是测试行的行)以避免重叠匹配,您可能还希望将换行符添加到否定字符类({{1}})。