为什么结果中包含负前瞻?

use*_*991 3 regex regex-lookarounds

Im使用的表达式:

(?!.+\]\:)(.+)/g
Run Code Online (Sandbox Code Playgroud)

字符串:

some text I dont wan't ]: some text I want
Run Code Online (Sandbox Code Playgroud)

结果:

]: some text I want
Run Code Online (Sandbox Code Playgroud)

我的印象是前瞻从以下匹配结果中排除.那么为什么]:要包含在结果中呢?也许这是+前瞻,但我不知道该替换它.

anu*_*ava 5

这是因为你正在使用一个前瞻,声称我们没有任何字符后面]和后面的1+ :.它开始匹配,]:因为前瞻条件满足该位置(任何东西的1+字符).

你可能意味着像这样的后视:

(?<=\]: ).+
Run Code Online (Sandbox Code Playgroud)

RegEx演示