Сопоставитель шаблонов Java — дополнительная группа захватаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сопоставитель шаблонов Java — дополнительная группа захвата

Сообщение Anonymous »

Я хотел бы обработать некоторые входные запросы тремя возможными способами:

Код: Выделить всё

query: select * from People
query: select * from People exclude addresses
query: select * from People include department
У меня есть запрос регулярного выражения[:\/]?(.*)((exclude|include)(.*))?, который СООТВЕТСТВУЕТ всем трем сценариям, но я теряю группы (2), такие как: исключить адреса, включить отделы, но мне придется использовать дополнительные операции с подстроками, чтобы извлечь эту информацию из исходной строки.
С query[:\/]?(.*)((exclude|include)(.*)) (без знака вопроса в конце)
Я получаю:
  • группа 1 — ТОЛЬКО запрос
  • группа 2 (исключения/включения)
Но это не так захватывать случаи, когда я получаю только входные данные запроса.
Как обновить RegEx, чтобы у меня было ПОИСКПОЗ во всех трех случаях с дополнительными группами соответствия? т. е. groupCount == 3, у меня есть включения/исключения, а groupCount == 2 указывает, что у меня есть только простой запрос. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ring-group
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»