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

pat*_*rik 4 regex

我正在尝试制作一个匹配特定模式的正则表达式,但我想忽略以#. 我该怎么做?

假设我有这个模式 (?i)(^|\W)[a-z]($|\W)

它匹配所有出现一个字母的行。例如,它匹配这些行:

asdf e asdf
j
kke o
Run Code Online (Sandbox Code Playgroud)

现在我想覆盖它,以便它不匹配以 a 开头的行 #

编辑:

我说的不够具体。我的真实模式更复杂。看起来有点像这样: (?i)(^|\W)([a-hj-z]|lala|bwaaa|foo($|\W)

它应该像我想阻止攻击性语言一样使用,如果一行不以哈希开头,在这种情况下它应该覆盖。

Ani*_*dha 7

这就是你要找的

^(?!#).+$
Run Code Online (Sandbox Code Playgroud)

^标记行首,$标记行尾(多行模式)

.+ 将匹配 1 到多个字符

(?!#) 是一个前瞻,只有当该行不以 #


yda*_*coR 1

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

^(?<!#)\w+$
Run Code Online (Sandbox Code Playgroud)

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