我对正则表达式很陌生,并一直在四处搜寻,但没有成功.给定一个字符串,我想删除任何以"abc"开头的模式,以"abc"结尾,并且在中间不包含"abc".如果我做
'abc.*(abc).*abc'
Run Code Online (Sandbox Code Playgroud)
它会匹配任何以"abc"开头的模式,以"abc"结尾,并在中间包含"abc".我该如何做相反的事情.我试试
'abc.*^(abc).*abc'
Run Code Online (Sandbox Code Playgroud)
但它不会起作用.
您尝试否定部分模式的语法不正确。
此外,^在字符类之外在字符串的开头断言位置。您需要使用Negative Lookahead断言并确保锚定整个模式。
^abc(?:(?!abc).)*abc$
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下模式:
^abc((?!abc).)*abc$
Run Code Online (Sandbox Code Playgroud)
(?!abc)是否定前瞻 - 断言abc你的字符串内部是不可能匹配的.

| 归档时间: |
|
| 查看次数: |
7284 次 |
| 最近记录: |