如何在正则表达式中排除一行的某些部分



Your name is: "Foo Bar"行之外,我只想在正则表达式中选择Foo Bar

我已经尝试了非捕获组没有成功:(?:^Your name is: ").*(?:")$

"(.*?)"工作,但我不希望双引号被选中

当您标记pcre时,您不必使用向后看断言,但您可以匹配文本,然后使用K来忘记到目前为止匹配的内容。

^Your name is: "K.+(?="$)

查看regex演示。

或者根本没有查找和捕获组:

^Your name is: "(.+)"$

查看另一个正则表达式演示。

您可以使用lookbehindlookahead:

(?<=^Your name is: ").+(?="$)

(?<=看后面的Your name is: "(?=展望"

结果将是两者之间的值。

regex101

最新更新