Java Regex выдает все строки, кроме тех, которые заключены в одинарные кавычкиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java Regex выдает все строки, кроме тех, которые заключены в одинарные кавычки

Сообщение Anonymous »

Я обращаюсь к вам, так как понял, что Java Regex — не моя чашка чая. Я имею дело со строками и хочу извлечь все строки, кроме тех, которые заключены в кавычки.
Например,

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

      String myString = "IF What young > old, 'Price 1', 'Prediction One', 'Mother''s Day', good";
Я попробовал использовать это регулярное выражение, оно работает, пока между словами в кавычках нет пробела.

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

String myRegex = "\\b(?!\\')[a-zA-Z_]+\\d*[.]?[a-zA-Z_]*\\d*(?!\\')\\b";
Pattern p = Pattern.compile(myRegex);
Matcher m = p.matcher(myString);
Set mySet = new HashSet();
while(m.find()){
mySet.add(m.group());
}

System.out.println("Set: " + mySet);

This gives me:
Set: [s, young, Price, old, Prediction, IF, What, good]
Но я хочу:

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

 Set: [young, old, IF, What, good]
Когда я пытаюсь разрешить пробелы в кавычках с помощью \\s+, это просто отказывается работать. Regex очень сложен и запутан. Буду очень благодарен за любые подсказки и помощь!
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... gle-quotes
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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