我需要一个正则表达式,以排除匹配具有给定字符串的行。 这是我到目前为止发现的:
正则表达式:
(?<!\/)\shttps
测试文本:
string.pdf https
string.html https
stringEndingWithSlash/ https
stringEndingWithoutSlash https
这仅排除第三行。但是我需要表达式只匹配不以.pdf,.html或斜杠结尾的字符串的行。因此,仅示例的最后一行应匹配。如何使用逻辑|还是这里?还是有其他解决方案? 谢谢-一切顺利, 萨莎
答案 0 :(得分:1)
以下模式似乎有效:
^\w+(?!\.pdf|\.html|\/) https$
这与某个初始单词匹配, not 的结尾不是.pdf
,.html
或正斜杠,然后是一个空格和{{1 }}。它使用否定前瞻来执行此操作。尽管有些解决方案可能不使用环视,但它们似乎是实现所需逻辑的最简单方法。
答案 1 :(得分:1)
答案 2 :(得分:1)
我知道答案已经被接受,但是不对每个人的字符进行前瞻,而仅在需要的时间和地点进行两次后视会更有效: / p>
^.*[^\/] https$(?<!\.pdf https)(?<!\.html https)
...使用gm
标志。