查找适合特定格式的所有子字符串

时间:2018-11-25 01:55:11

标签: java regex string substring

让我们说我有一个字符串文本,例如:

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 :(得分:2)

这是使用正则表达式模式匹配器的一种选项,具有以下模式:

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

示例代码:

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