Ниже приведено PHP, но регулярное выражение также будет использоваться в javascript.Попытка извлечь повторяющийся шаблон из строки в php/javascript
Попытка извлечь повторяющиеся узоры из строки
строка может быть любой из следующих:
"something arbitrary"
"D123"
"D111|something"
"D197|what.org|when.net"
"D297|who.197d234.whatever|when.net|some other arbitrary string"
настоящее время я использую следующее регулярное выражение: /^D([0-9]{3})(?:\|([^\|]+))*/
это правильно не соответствует первая строка, правильно соответствует второй и третьей. Проблема в том, что третий и четвертый соответствуют только Dxxx и последней строке. Мне нужна каждая строка между '|' для соответствия.
Я надеюсь использовать регулярное выражение, поскольку это делает его одним шагом. Я понимаю, что могу просто обнаружить ведущий Dxxx, а затем использовать взрыв или раскол, если это необходимо, чтобы сломать строки. Я только что застрял в желании одного шага соответствия регулярному выражению.
Это же регулярное выражение может быть использовано и в Python, поэтому просто требуется общее решение регулярных выражений.