我正在尝试制作一个匹配特定模式的正则表达式,但我想忽略以#. 我该怎么做?
假设我有这个模式 (?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)
它应该像我想阻止攻击性语言一样使用,如果一行不以哈希开头,在这种情况下它应该覆盖。
这就是你要找的
^(?!#).+$
Run Code Online (Sandbox Code Playgroud)
^标记行首,$标记行尾(多行模式)
.+ 将匹配 1 到多个字符
(?!#) 是一个前瞻,只有当该行不以 #
此正则表达式将匹配\w前面不带 的任何单词字符#:
^(?<!#)\w+$
Run Code Online (Sandbox Code Playgroud)
它在字符串的开头执行负向后查找,然后跟随 1 个或多个单词字符。
| 归档时间: |
|
| 查看次数: |
15359 次 |
| 最近记录: |