我希望在使用制表符作为字符串分隔符的行中不匹配任何包含确切字符串的行。这意味着,如果此确切的字符串的前面,后面,两侧或两侧都没有制表符,则该行不应与该行匹配。
让我们说不匹配的字符串是cd ef
提供此数据
eid cd ef
cd ef kop
cd efs
hodjjk
cd ef
8cd ef
cd ef
cd ef
cd efkk
这些行应该不匹配:1、2、5、7、8
其他行应匹配
这是我到目前为止所拥有的
^(?!cd ef|\tcd ef|cd ef\t|\tcd ef\t).*$
请参阅regex
这不会使所需的结果安静下来
任何帮助将不胜感激
谢谢
这里有一种可能,它匹配您要的所有行,但不匹配\bcd ef\b
的全部行,如果要匹配所有的行,请使用:.*?\bcd ef\b.*
然后,如果您正在使用允许您执行此操作的编程语言,则可以采用相反的方法。
如果没有,您可以使用:^([^c\n]*(?!\bcd ef\b)(c[^c\n]*)*)+$
也会起作用,但由于必须返回而不能达到高性能