Regex.IsMatch("ab", @"^(?:(a)|\1b)$") == False
Так он пытается соответствовать a
, преуспевает, то пытается сопоставить $
, не удается, так что откатывается и пытается другой разъединены, который начинается с \1
. Я предполагаю, что когда он попал в «a», \1
взял значение «a», но теперь, поскольку он должен был отступить, он забыл это значение? Так оно работает? И \1
просто не сможет что-либо найти после этой точки?Почему это регулярное выражение не соответствует?
Возможно, вам лучше сказать, с чем вы пытаетесь соответствовать? –
@ Джейсон: Ничего. Просто пытаюсь понять, как они работают ... в глубину. – mpen