对于构造 {123{a,b}}
,我想匹配 {123{
和 }}
。
这是通过正则表达式完成的:{(.*?){|}}
但是:现在我想使用相同的表达式在 {a,b}
上运行并仅匹配 {
和 }
。
因此,我必须以某种方式将第二个 {
设为可选。但如何呢?
我正在使用http://gskinner.com/RegExr/即时测试。
最佳答案
您可以使用以下正则表达式:
(?:{.*?)?{|}}?
这使得内大括号之外的所有内容都是可选的。
(?:{.*?)? // Contents before the opening inner brace '{' (Optional)
{
|
}
}? // Last brace (Optional)
请参阅 http://regexr.com?35t3r 上的演示
关于java - 如何与可选出现匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18144908/