Текстовая строка, которую я хочу проверить, состоит из того, что я называю «сегментами». Отдельный сегмент может выглядеть так:
[A-Z,S,3]
До сих пор мне удалось построить этот шаблон регулярного выражения
(?:\[(?<segment>[^,\]\[}' ]+?,[S|D],\d{1})\])+?
он работает, но будет возвращать совпадения, даже если вся текстовая строка содержит недопустимый текст. Я предполагаю, что мне нужно использовать ^
и $
где-то в моем шаблоне, но я не могу понять, как!?
Я хотел бы, чтобы мой шаблон дал следующие результаты:
[A-Z,S,3][A-Za-z0-9åäöÅÄÖ,D,4]
ОК(два сегмента)[A-Z,S,3]aaaa[A-Za-z0-9åäöÅÄÖ,D,4]
Нет совпаденийcrap[A-Z,S,3][A-Za-z0-9åäöÅÄÖ,D,4]
Нет совпадений[A-Z,S,3][]
Нет совпадений[A-Z,S,3][klm,D,4][0-9,S,1]
ОК(три сегмента)