2015-04-07 2 views
0

Моя строка ==> а = "б * CDE-фг, Н" I = "jkl.mn" opqrs = "TU/оч.сл." х = "уг"Почему результат «RegexOptions.RightToLeft» не совпадает с LeftToRight?

В результате я хочу == >> б * CDE-фг, ч

Мой рисунок == >> а = "(. +?) \"

Если я использую RegexOptions в LeftToRight (нормальный режим) Это даст результат == >> б * cde-fg, h

Но если я использую RegexOptions как RightToLeft, он даст результат == >> b * cde-fg, h "i =" jkl.mn "opqrs =" tu/vw "x = "yz

ould Я делаю, чтобы сделать результаты RightToLeft похожими на LeftToRight?

+0

Есть ли причина, по которой вы хотите использовать RightToLeft? – Guvante

+0

Внутри всей строки будет строка, которую я хочу. Если я буду искать слева направо, это будет очень сложно найти, потому что существует много похожих строк. Но я знаю ответ, который я хочу опережать уникальную строку. – user3500437

+0

Рассматривали ли вы изменение своего регулярного выражения. Например, не разрешая встроенные '' '? – Guvante

ответ

1

Возвращает правильный результат, RightToLeft означает перемещение регулярного выражения справа налево.

Когда вы используете неживое связывание, вы не говорите «дайте мне кратчайшую строку, которая соответствует« вы говорите », как только у вас будет обработка остановки совпадения».

Он начинается с употребления ", а затем любое количество символов, наконец, a=" при первом совпадении это начало строки.