У меня есть строка, которую я хочу строку для разбора с помощью Java или Python регулярного выражения:Попытка создать регулярное выражение
something (\var1 \var2 \var3 $var4 #var5 $var6 *fdsfdsfd @uytuytuyt fdsgfdgfdgf aaabbccc)
Количества var
неизвестно. Их точные имена неизвестны. Их имена могут начинаться с «\» или «$», «*», «@» или «#» и не начинаться с пробелов.
Я хотел бы анализировать их отдельно, то есть в группах захвата, если это возможно. Как я могу это сделать? Выход я хочу список:
[\var1 , \var2 , \var3 , $var4 , #var5 , $var6 , *fdsfdsfd , @uytuytuyt , fdsgfdgfdgf , aaabbccc]
не нужен Java или питона код, мне просто нужно регулярное выражение. Мой неполна один:
something\s\(.+\)
Почему вы не можете использовать метод split, если они просто разделены пробелами? – JanLeeYu
Регулярные выражения Java не подходят для захвата переменной числа некоторого шаблона. Я думаю, вам придется использовать регулярное выражение, с которым вы начали, добавьте '()', чтобы захватить часть в круглых скобках, например 'something \ s \ ((. +) \)', Извлечь группу захвата в строку, split' на захваченной строке или сделать что-то еще, чтобы зациклиться на этой строке. Но вы не можете делать то, что хотите, с одним регулярным выражением, по крайней мере, на Java. Сожалею. – ajb