У меня есть строка и требуется регулярное выражение для извлечения подстроки из строки.Регулярное выражение для извлечения текста, содержащего charcters
Пример: this is a|b|c|d whatever e|f|g|h
Результат: a|b|c|d, e|f|g|h
Однако на основе кода Java, что я написал, это производит результаты следующим образом:
Pattern ptyy = Pattern.compile("\\|*.+? ");
Matcher matcher_values = ptyy.matcher("this is a|b|c|d whatever e|f|g|h");
while (matcher_values.find()) {
String line = matcher_values.group(0);
System.out.println(line);
}
Результат
this
is
a|b|c|d
whatever
Результат - это не то, что я надеялся р. Любой совет?
Попробуйте ['/[^\s|]+(?:\|[^\||])+/g'](https://regex101.com/r/aL9bL4/1) –
Вы только хотите отдельные буквы? Или должен соответствовать 'foo | bar | baz | qux'? Кроме того, это всегда ровно 4 термина, или должно 'a | b | c' соответствовать? – Bohemian
Я также хочу найти foo | bar | baz | qux, foo2 | ba2r | baz | qux5 –