用于排除多个字符串的正则表达式
Regex for excluding several strings
我需要一个正则表达式来排除匹配给定字符串的行。
这是我到目前为止发现的:
正则表达式:
(?<!\/)\shttps
测试文本:
string.pdf https
string.html https
stringEndingWithSlash/ https
stringEndingWithoutSlash https
这只排除了第三行。但我需要表达式只匹配字符串不以 .pdf、.html 或斜杠结尾的行。因此只有示例的最后一行应该匹配。我怎样才能使用逻辑 |还是这里?或者还有其他解决方案吗?
谢谢 - 一切顺利,
萨沙
以下模式似乎有效:
^\w+(?!\.pdf|\.html|\/) https$
这匹配一些初始单词,not 以 .pdf
、.html
或正斜杠结尾,然后是正斜杠space 和 https
。它使用负前瞻来执行此操作。虽然可能存在不使用环视的解决方案,但它们似乎是实现所需逻辑的最简单方法。
你可以试试这个
^((?!pdf|html|\/).)*\shttps$
我意识到一个答案已被接受,但不向前看 每个人 角色会更有效,而是在他们的位置和时间进行两次回顾只需要:
^.*[^\/] https$(?<!\.pdf https)(?<!\.html https)
...使用 gm
标志。
我需要一个正则表达式来排除匹配给定字符串的行。 这是我到目前为止发现的:
正则表达式:
(?<!\/)\shttps
测试文本:
string.pdf https
string.html https
stringEndingWithSlash/ https
stringEndingWithoutSlash https
这只排除了第三行。但我需要表达式只匹配字符串不以 .pdf、.html 或斜杠结尾的行。因此只有示例的最后一行应该匹配。我怎样才能使用逻辑 |还是这里?或者还有其他解决方案吗? 谢谢 - 一切顺利, 萨沙
以下模式似乎有效:
^\w+(?!\.pdf|\.html|\/) https$
这匹配一些初始单词,not 以 .pdf
、.html
或正斜杠结尾,然后是正斜杠space 和 https
。它使用负前瞻来执行此操作。虽然可能存在不使用环视的解决方案,但它们似乎是实现所需逻辑的最简单方法。
你可以试试这个
^((?!pdf|html|\/).)*\shttps$
我意识到一个答案已被接受,但不向前看 每个人 角色会更有效,而是在他们的位置和时间进行两次回顾只需要:
^.*[^\/] https$(?<!\.pdf https)(?<!\.html https)
...使用 gm
标志。