Java正则表达式:根据前一个字符匹配字符

时间:2016-05-15 08:25:10

标签: java regex

如何根据所使用的开场报价匹配收盘价(单或双)?

现在我有:

key.*?=["'].*?["']

但不幸的是,收尾报价不依赖于开头报价,它不适用于以下示例:

key="foo'bar"

我可以创建2个子但我认为它不是最佳的:

key.*?=(".*?"|'.*?')

非常感谢任何提示,谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用反向引用\n(例如\1 - 用于第一个捕获组,\2用于第二个捕获组

所以你的例子看起来像:

key.*?=(["']).*?\1