Regex 使用命名的正则表达式组来缩短模式
我试图在正则表达式中使用命名组来减小正则表达式的大小。然而,即使以最简单的形式,在清除了所有的“噪音”后,我也无法让它工作 当我在regex101的文档中尝试这个例子时,它是有效的Regex 使用命名的正则表达式组来缩短模式,regex,python,c#,php,java,javascript,Regex,Python,C#,Php,Java,Javascript,我试图在正则表达式中使用命名组来减小正则表达式的大小。然而,即使以最简单的形式,在清除了所有的“噪音”后,我也无法让它工作 当我在regex101的文档中尝试这个例子时,它是有效的 /(?<first>a+) and again (\k<first>)/ 我希望“下一个十二月”与第一行匹配,但实际上,它只与两行中的“十二月”匹配 你可以在这里找到正则表达式 文档只提到命名组必须位于左侧 我缺少什么?您应该使用(?p>月)或(?p>月)而不是\k: (?十二月)|^(下一
/(?<first>a+) and again (\k<first>)/
我希望“下一个十二月”与第一行匹配,但实际上,它只与两行中的“十二月”匹配
你可以在这里找到正则表达式
文档只提到命名组必须位于左侧
我缺少什么?您应该使用(?p>月)
或(?p>月)
而不是\k
:
(?十二月)|^(下一个)\s(十二月)
有关重用部分正则表达式的问题的相关链接:
- :
- :
- :
- :
(?<months>December)|^(next)\s((?&months))
^^^^^^^^^^
(?<months>December)|^(next)\s((?P>months))
^^^^^^^^^^^
var rep = "December";
var ThePattern = $@"(?<months>{rep})|^(next)\s({rep})";