Вы должны были много()
Это правильная реализация:
test := RegExMatch("1234AB123","[0-9]{4,4}([A-Z]{2})[0-9]{1,3}")
Edit:
Так что я заметил, что вы хотите этот шаблон, чтобы соответствовать, но вы Арен» Это действительно очень много говорит.
Вот что я смог придумать, что соответствует тому, что вы просили, вероятно, это не самое лучшее решение, но это работает:
test := RegExMatch("1234AB567","^[0-9]{4,4}[A-Z]{2}(?![0-9]{4,})[0-9$]{1,3}")
разбив его:
REGEXMATCH (Хейстек , NeedleRegEx [, UnquotedOutputVar = "", StartingPosition = 1])
Метасимвол (^) и знак доллара ($ ) называются якорями, потому что они не потребляют никаких символов; вместо этого они привязывают шаблон к началу или концу искомой строки.
^ может появиться в начале шаблона, чтобы совпадение происходило на самом начале строки. Например, ** ** соответствует abc123, но не 123abc.
$ может появиться в конце шаблона, чтобы совпадение происходило на самом конце строки. Например, abc $ соответствует 123abc, но не abc123.
Таким образом, добавляя Circumflex, мы требуем, чтобы наш шаблон [0-9]{4,4}
был в начале нашего стога сена.
Посмотрите вперед и смотреть-за утверждений: групп (? = ...), (...?!) Являются называемые утверждения, потому что они требуют, чтобы условия быть выполнены, но не потреблять любые символы.
(?! ...) является негативным прогнозом, потому что он требует, чтобы указанный шаблон не существовал.
Наш следующий шаблон ищет два верхних альфа-символа [A-Z]{2}(?![0-9]{4,})
, которые не имеют четырех или более цифровых символов после него.
И, наконец, наш последний шаблон, который должен соответствовать от одного до трех числовых символов, как последние символы в нашем Хейстекло [0-9$]{1,3}
спасибо! Я являюсь regex virgin :) ... Кажется, что он отлично работает только с последним квантором {1,3}, кажется, что он игнорирует предел 3 чисел, если я добавляю к стоге сена 1234AB123456, это все равно выглядит как истина. Любая идея почему? –
Я сам новичок. Я ответил на ваш вопрос, когда я выбегал за дверь, не намеренно игнорировал вас, и я только обратился к проблеме с синтаксисом AHK, который был придирчив к фигурным скобкам. Итак, теперь, когда я вернусь домой, я рассмотрю проблему с самим регулярным выражением, которое я объясню в приведенном выше правиле. (Надеюсь, вы нашли ответы сами, как вы просили несколько часов назад) – errorseven