我第一次尝试使用递归正则表达式来分解列表中的项目,但我无法获得多个匹配项。
我有一个字符串,例如 array(string,boolean)
.我想从内部提取string
和boolean
,所以有这个正则表达式:
array((?:([a-z]+)[,S]*)(?:(?R)|))
使用 regex101.com 进行测试时,我成功地匹配了string
,但没有boolean
。我试图移动一些括号,以防我的分组方式错误。
我想得到一些关于我哪里出错的建议?还是我误解了递归正则表达式的工作原理?
要帮助:https://regex101.com/r/Vkmvr0/2
猜对了,你会有的另一个选择可能是使用环顾四周,例如使用类似于以下内容的表达式:
(?<=(|,)[^rn,)]*(?=,|))
如果您想探索/简化/修改表达式,它已经 在右上角的面板上解释 regex101.com。如果您愿意,您可以 也可以在这个看 链接,它将如何匹配 针对某些示例输入。