Проблема с регулярным выражением, извлекающим все совпадения для шаблона в tcl - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь извлечь все совпадения для шаблона в строке.Например, строка tr: «r [0] или c [0]», но совпадающая строка не соответствует ожиданиям.

Я попытался использовать regexp -all -inline, чтобы сопоставить все подстроки, которые соответствуют шаблону в строке.

%set p "r\[0\] and c\[0\]"
%r[0] and c[0]
% regexp ".\[\\d+\]" $p
%1
% set x [regexp -all -inline ".\[\\d+\]" $p]
%{[0} {[0}

Ожидаемый результат - r [0] c [0], но результат - [0 [0

1 Ответ

0 голосов
/ 12 июня 2019

Вы не указываете тип результата, который хотите получить.Как вы уже написали, вы хотите сопоставить каждую букву [цифру] , которую вы найдете в данной строке, будучи только одной буквой и одной цифрой внутри [].Вы можете использовать это регулярное выражение, чтобы получить его:

([a-zA-Z]\[\d\])

Если вы хотите использовать только строчные буквы, удалите AZ.

Теперь вы можете использовать https://www.regextester.com/ дляпроверьте свое регулярное выражение перед его использованием.

Надеюсь, вы найдете это полезным!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...