Я использую. Net Аромат регулярных выражений.
Предположим, у меня есть строка 123456789AB, и я хочу сопоставить AB (может быть любые две заглавные буквы), только если часть строки, содержащая числа (123456789) имеет 5 и 8 в нем. Так что я придумал (? = 5) (? = 8) ([AZ] {2}) Но это не работает. После некоторой ошибки в RegexStorm
я получил (? = (. * 5)) (? = (. * 8)) [AZ] {2}
Что я ожидаю, так это сопоставление начнется с начала строки, поскольку при просмотре вперед не используются никакие символы. Но часть "[AZ] {2}" не перемещается вперед, чтобы соответствовать AB во входной строке. Мой вопрос: почему это так? я знаю, что заменив его на. * [AZ] {2} заставит его двигаться вперед, но тогда в строке соответствия есть вся строка. Какое решение в этом случае, кроме помещения части слова ([AZ] {2}) в отдельную группу, а затем перехвата только этой группы.