найти все подстроки, которые соответствуют определенному формату - PullRequest
0 голосов
/ 25 ноября 2018

Допустим, у меня есть текст String, такой что:

System.out.println(text);
//output: laksjdlkja"a$b$c"askjd"asdafar"rafs$"asdk"xx$re$odiff"kdf

Я хочу найти все подстроки текста в формате "_ $ _ $ _" (где _ может быть чем угодно, кроме "и $).

В этом случае после поиска я хотел бы иметь массив String с содержимым

"a$b$c"
"xx$re$odiff"

Как я могу выполнить этот поиск?

1 Ответ

0 голосов
/ 25 ноября 2018

Вот один вариант, использующий сопоставление с регулярным выражением со следующим шаблоном:

[^"$]+\$[^"$]+\$[^"$]+

Пример кода:

String text = "laksjdlkja\"a$b$c\"askjd\"asdafar\"rafs$\"asdk\"xx$re$odiff\"kdf";
String pattern = "[^\"$]+\\$[^\"$]+\\$[^\"$]+";

Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(text);
while (m.find()) {
     System.out.println("Found match: " + m.group(0));
}

Found match: a$b$c
Found match: xx$re$odiff
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...