Regex以匹配给定字符后的文本(不包括字符本身)

  • 本文关键字:字符 文本 不包括 Regex regex
  • 更新时间 :
  • 英文 :


考虑以下文本-

[Event "F/S Return Match"]

我想提取-

F/S Return Match

现在我正在使用-

"(.*)"

哪一个是有效的?

"F/S Return Match"

然后我使用-

[^"]*

获取-

F/S Return Match

我能把两者合为一吗?

环视可能是一种选择:

(?<=")[^"]*(?=")

(?<=")检查前一个字符是否为"
(?=")检查下一个字符是否是"

测试。

另一种选择是使用分组:

"([^"]*)"

如何提取组取决于所使用的语言。

测试。(注意"匹配组"区域)

我没有简单地使用"(.*)",因为字符串abc "def" "ghi"将与"def" "ghi"匹配,尽管您可能希望分别匹配"def""ghi"[^"]的一个替代方案是非贪婪匹配-"(.*?)",它将尽可能少地匹配字符串。

最新更新