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

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

Сообщение Anonymous »

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

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

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

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

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

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

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

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

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