Я пытаюсь написать Regex для сопоставления первых двух буквенных символов, появляющихся в любом месте строки. Пока мне не удалось добиться желаемых результатов.
Попытки, которые я делал до сих пор, в основном состояли в попытках сгруппировать все, что соответствует A-Za-z
, \w
, и т. Д. c. но с каждой попыткой я либо ловил скобки, либо скобки, либо останавливался из-за пробелов или символов между двумя алфавитными символами. у меня легко выйти из этого положения, но я действительно хочу научиться делать это с помощью регулярных выражений.
Мои попытки:
[(A-Za-z)]{2}
- Не удалось, поскольку он включает ()
и (U
по какой-то причине, которую я не могу понять.
[A-z].*[A-z]
- Соответствует всему, что находится между символами
[A-z]?[A-z]
- Кажется, уловил кое-что из того, что я хотел, но к сожалению, также обнаруживаются скобки и странное поведение в тесте №2.
[A-Za-z]{2}
- ловит первые два связанных буквенных символа, но пропускает все, что содержит что-либо между ними.
[A-Za-z](?:)[A-Za-z]
- ловит соединенные алфавитные символы, но не разделенные.
Думаю, моя главная проблема в том, что я не знаю, как заставить регулярное выражение игнорировать что-то между двумя алфавитными символами, не включая их в мой матч.
Я просмотрел wiki, regex101, regexone, regexr, regular-expressions.info и ссылку, но я просто не могу понять, как сделать это. Я использую движок Regex в Google BigQuery
Тесты:
USUK
Должно точно совпадать US
123U456 KUS
Должно точно совпадать UK
[]() [][(UK]) ( ) [ ] US
Должно точно совпадать UK
]-u K[
Должно точно совпадать uK
Спасибо, что нашли время, чтобы помочь мне.