регулярное выражение: кавычки в кавычках - PullRequest
0 голосов
/ 05 апреля 2011

Мне нужно сделать следующий тип соответствия регулярного выражения

Например, если у меня есть строка - some "This is "sample" data" example

Я хочу извлечь "Это" пример "данных" из приведенной выше строки. Не могли бы вы дать мне регулярное выражение, которое может вернуть мне желаемые результаты

Подробнее

У меня есть строка как - keyword = "This is "blood" sample" AND name = "some text". Мне нужно извлечь Ключевое слово = "Это" образец крови " name = "некоторый текст" из него как две отдельные строки.

Не могли бы вы предложить регулярное выражение для такого рода вещей

Я использовал (keywords|name|title) = (.*?(\\\".*\\\").*?) как регулярное выражение, и оно работает не так, как ожидалось. Он возвращает мне всю строку, как это.

Заранее спасибо.

1 Ответ

2 голосов
/ 05 апреля 2011

Не совсем уверен, что вы ищете, поэтому я буду заполнять пробелы, угадывая.

Pattern p = Pattern.compile(".*?(\\\".*\\\").*?");
Matcher m = p.matcher("some \"This is \"sample\" data\" example");

if (m.matches())
    System.out.println(m.group(1));

Выход:

"This is "sample" data"

Некоторые замечания:

  • Что должно совпадать в a b "c d "e f "g h" i j" k l" m n?
  • Что должно совпадать в a "b" c"?
  • Если вы хотите трактовать " и " как открывающую и закрывающую скобки, регулярные выражения не для вас.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...