考虑以下文本-
[Event "F/S Return Match"]
我想提取-
F/S Return Match
现在我正在使用-
"(.*)"
哪一个是有效的?
"F/S Return Match"
然后我使用-
[^"]*
获取-
F/S Return Match
我能把两者合为一吗?
环视可能是一种选择:
(?<=")[^"]*(?=")
(?<=")
检查前一个字符是否为"
(?=")
检查下一个字符是否是"
。
测试。
另一种选择是使用分组:
"([^"]*)"
如何提取组取决于所使用的语言。
测试。(注意"匹配组"区域)
我没有简单地使用"(.*)"
,因为字符串abc "def" "ghi"
将与"def" "ghi"
匹配,尽管您可能希望分别匹配"def"
和"ghi"
。[^"]
的一个替代方案是非贪婪匹配-"(.*?)"
,它将尽可能少地匹配字符串。