正则表达式匹配给定字符后的文本,不包括字符本身

时间:2013-07-02 15:46:56

标签: regex

考虑以下文字 -

[Event "F/S Return Match"]

我想提取 -

F/S Return Match

现在我正在使用 -

\"(.*)"

哪些事情 -

"F/S Return Match"

然后我用 -

[^"]*

获得 -

F/S Return Match

我可以将两者合二为一吗?

1 个答案:

答案 0 :(得分:8)

Look-around可以是一个选项:

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

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

Test

另一种方法是使用grouping

"([^"]*)"

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

Test。 (注意“匹配组”区域)

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