regex 与正则表达式匹配时忽略特定行

6yt4nkrj  于 2023-04-22  发布在  其他
关注(0)|答案(2)|浏览(169)

我试图创建一个匹配特定模式的正则表达式,但我想忽略以#开头的行。我该怎么做?
假设我有(?i)(^|\W)[a-z]($|\W)模式
它匹配所有只出现一个字母的行。例如,它匹配以下行:

asdf e asdf
j
kke o

现在我想覆盖它,使它不匹配以#开头的行
编辑:
我说得不够具体。我的真实的模式更复杂。它看起来有点像这样:(?i)(^|\W)([a-hj-z]|拉拉|布瓦阿|foo($|\W)
它的使用方式有点像我想阻止攻击性语言,如果一行不是以散列开头,在这种情况下,它应该覆盖。

xdnvmnnf

xdnvmnnf1#

这就是你要找的

^(?!#).+$

^标记行的开始,$标记行的结束(在多行模式下)
.+将匹配1到多个字符
(?!#)是一个先行,只有当行不是以#开始时,它才会进一步匹配

uqzxnwby

uqzxnwby2#

此正则表达式将匹配任何前面没有#的单词字符\w

^(?<!#)\w+$

它在字符串的开头执行负向后查找,然后在其后跟随1个或多个单词字符。

相关问题