在java中如何划分重复的正则表达式模式?
想象一下,有一行字符串是这样的:
" jack for { 123 for{}} rose for {}"
我想把它分开,得到这两行作为输出:
jack for { 123 for{}}
rose for {}
下面的正则表达式模式不能解决这个问题,我现在不知道贪婪量词应该放在哪里:
[\S\s]*(for)\s*\{[\S\s]*}
任何形式的帮助都将不胜感激
你可以在下面搜索框中键入要查询的问题!
想象一下,有一行字符串是这样的:
" jack for { 123 for{}} rose for {}"
我想把它分开,得到这两行作为输出:
jack for { 123 for{}}
rose for {}
下面的正则表达式模式不能解决这个问题,我现在不知道贪婪量词应该放在哪里:
[\S\s]*(for)\s*\{[\S\s]*}
任何形式的帮助都将不胜感激
# 1 楼答案
我会避免使用regex来完成该任务,而是实现一个简单的解析器:
你可以try it here
# 2 楼答案
假设外部名称始终为“单词”,内部字符串始终为数字,则可行的正则表达式为:
https://regex101.com/r/V3MNFd/1