>我有以下示例行:
!foobar foo bar ! foo ---> NO MATCH
foo bar foo bar ! foo ---> Should match !
foo bar foo bar ! ! fooo bar ! ---> Should ONLY match the first !
! ! foo bar ---> NO MATCH
!foo bar foo bar ! ! fooo bar ! ---> NO MATCH
我想找到一个正则表达式,该表达式仅与字符"!"的第一次匹配,除非字符位于行首,则行除外。 我试图使用许多不同的组合(可能不正确(的负面回溯(可能不正确(无济于事,例如^(?!!)!
.
我计划将此正则表达式用作需要强制正则表达式的命令的输入,因此我无法使用其他方法。
正则表达式:
^[^!]+(!).*
组 1 包含您的匹配项。
在这里测试。
请注意,此解决方案仅适用于单个字符(在本例中为!
(。