Я пытаюсь сделать выражение регулярного выражения, которое захватывает несколько групп данных.Группа захвата Regex несколько раз и другие группы
Вот некоторые данные, например:
sampledata=X
B : xyz=1 FAB1_1=03 FAB2_1=01
A : xyz=1 FAB1_1=03 FAB2_1=01
мне нужно, чтобы захватить X
, который должен появиться один раз, и FAB1_1=03
, FAB2_1=01
... Все строки, которые начинаются с FAB
.
Таким образом, я мог бы захватить все «FAB», как это:
/(FAB[0-9]_[0-9]=[0-9]*)/sg
Но я не мог включать в себя захват X
используя это выражение:
/sampledata=(?<samplegroup>[0-9A-Z]).*(FAB[0-9]_[0-9]=[0-9]*)/sg
Это регулярное выражение возвращает только одну группу X
и последний матч группы «FAB».
Что-то вроде [ '(:?! SampleData = (\ S +) | (^) \ G) (? :(?! FAB [0-9] _ [0-9] =).) * (FAB [0-9] _ [0-9]) = ([0-9] *) ' ] (https://regex101.com/r/gA5zE6/1)? –
@stribizhev Да, точно! Спасибо, я не очень понимаю ваше выражение, но оно работает. – ZwoRmi
Опубликовать с объяснениями сейчас –