Ste*_*han 10 php c# regex branch reset
以下正则表达式将匹配"星期六"或"星期日": (?:(Sat)ur|(Sun))day
(?:(Sat)ur|(Sun))day
但是在一种情况下,后向引用1被填充,而后向引用2是空的,而在另一种情况下反之亦然.
PHP(pcre)提供了一个很好的运算符"?|" 这可以避免这个问题.以前的正则表达式将成为(?|(Sat)ur|(Sun))day.所以不会有空的反向引用.
(?|(Sat)ur|(Sun))day
在C#或某些解决方法中是否存在等价物?
Ala*_*ore 12
.NET不支持分支复位操作,但它支持命名的组,它可以让你重用组名称,而不限制(这是其他的味道呢,据我所知).所以你可以使用这个:
(?:(?<abbr>Sat)ur|(?<abbr>Sun))day
...并且缩写名称将存储在Match.Groups["abbr"].
Match.Groups["abbr"]
归档时间:
14 年,9 月 前
查看次数:
1543 次
最近记录:
7 年,12 月 前