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

标签 java regex string substring

假设我有一个字符串文本:

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

我想找到格式为“_ $ _ $ _”的所有文本子字符串(其中 _ 可以是除 "$ 之外的任何内容)。

在这种情况下,在查找之后,我想要一个包含内容的字符串数组

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

如何进行此查找?

最佳答案

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

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

示例代码:

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

关于java - 查找符合特定格式的所有子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464020/

相关文章:

java - 遇到变量无法打印和\n 无法工作的问题

java - 如何编译支持GPU的tflite?

java - 用于匹配扑克牌的正则表达式 (Java)

c# - 打印特定坐标处的字符串,c# 控制台应用程序

python - Django 正在为带有冒号的 cookie 添加引号

有人可以修改我的代码吗?我需要读取单个字符串并将其存储到数组中

java - 使用 HashMap 和反射来调用具有可变参数类型的方法

触发获取请求时出现 java.lang.IllegalArgumentException : Host name may not be null,

javascript - 变量字符串的正则表达式

python - 设计一个 RE 来过滤单词