0

我有两个字符串

"#string1" (1111) {string2}
"#string1" (1111)

我想编写匹配三个组的正则表达式。对于第一个字符串:

1 => #string1
2 => 1111
3 => string2

和第二个字符串

1 => #string1
2 => 1111
3 =>

问题是我不知道如何生成所有三个组,但如果字符串不包含花括号,则将第三组设为空。我可以匹配第一个字符串的所有三个组,而第二个字符串不匹配,或者匹配两个字符串的前两个组。

我的正则表达式应该是什么样子?

4

1 回答 1

3

尝试:

^"([^"]*)" \(([^)]*)\)(?: \{([^}]*)\})?$
于 2013-08-29T12:40:56.507 回答