как проверить регулярное выражение начинается и заканчивается регулярным выражением - PullRequest
0 голосов
/ 21 января 2020

У меня есть регулярное выражение для захвата строки, если они находятся между двойной кавычкой и не начинаются или не заканчиваются на /.

Но решение для регулярных выражений, которое я хотел.

The regex should not capture

Условие 1. Захватывать текст между двумя двойными или одинарными кавычками. Условие 2. Но оно не должно регистрироваться, если начинается с [и заканчивается] условием 3. Но оно не должно выполняться, если начинается с / "и заканчивается /" или начинается с / "и заканчивается / '

Пример:

REGEX: \"(\/?.)*?\"

Вход: Functions.getJsonPath(Functions.getJsonPath(Functions.getJsonPath(Functions.unescapeJson("test"), "m2m:cin.as"),"payloads_ul.test"),"[/"Dimming Value/"]",input["test"]["in"])

Выход:

captured output:
1. "test"
2. "m2m:cin.as"
3. "payloads_ul.test"
4. [/"Dimming Value/"]
5. "test"
6. "in"

Ожидаемый результат:

1. "test"
2. "m2m:cin.as"
3. "payloads_ul.test"
4. [/"Dimming Value/"]

Условие 1 объяснение: захват текста между двойными или одинарными кавычками. пример: input: "test","m2m:cin.as" output: "test", "m2m: cin.as"

Объяснение условия 2: Если регулярное выражение находится между, начинается с [ и заканчивается ], но оно имеет двойная или одинарная кавычка, то также не должна захватывать.

пример: ввод: ["test"] вывод: не должен захватывать

Объяснение условия 3: В ожидаемом выше результате для ввода "[/"Dimming Value/"]" есть двойная двойная кавычка, но захватывается только одна, исключая /". Итак, на выходе получается [/"Dimming Value/"]. Таким образом, я хочу, если /' (single quote preceded by /).

Примечание: для ввода "[/"Dimming Value/"]" or '[/'Dimming Value/']', здесь, хотя текст находится между двойной кавычкой и одинарной кавычкой и имеет [ и ] это не следует игнорировать строку. Выход должен быть [/ "Значение затемнения /"].

1 Ответ

1 голос
/ 22 января 2020

Как я понял, вы хотите захватывать текст между двойными кавычками, кроме:

  • , если начальные двойные кавычки с префиксом [ или окончательные двойные кавычки с суффиксом ]
  • двойные кавычки с префиксом / не должны быть началом или концом сопоставленного текста

Не знаю, хотите ли вы также захватить текст между одинарными кавычками, потому что ваш текст не завершен ясно.

Для создания группы без захвата с отрицательным соответствием префиксных символов вам нужна группа типа Negative Lookbehind , с синтаксисом (?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...