在PCRE中,“J”修饰符允许在正则表达式模式中重复命名的子模式。
Ĵ
(PCRE_INFO_JCHANGED)(?J)内部选项设置更改 本地PCRE_DUPNAMES选项。允许子模式的重复名称。
但是当在具有重复命名子模式的正则表达式中使用递归命名子模式时,没有说明将使用哪种模式。
例如: https://regex101.com/r/wY3wQ7/6
似乎当有命名的递归时,匹配仅针对第一个命名的子模式(?P<NAME>pattern1)
,而忽略第二个(?P<NAME>pattern2)
。这样对吗?那么为什么这样的功能会有用呢?