java - PHP 在 Java 中的 `preg_match_all` 功能

标签 java php regex preg-match

在 PHP 中,如果我们需要匹配类似 ["one","two","three"] 的内容,我们可以将以下正则表达式与 preg_match.

$pattern = "/\[\"(\w+)\",\"(\w+)\",\"(\w+)\"\]/"

通过使用括号,我们还可以提取单词一、二和三。我知道 Java 中的 Matcher 对象,但无法获得类似的功能;我只能提取整个字符串。我将如何去模仿 Java 中的 preg_match 行为。

最佳答案

对于 Matcher,要获取组,您必须使用 Matcher.group() 方法。

例如:

Pattern p = Pattern.compile("\\[\"(\\w+)\",\"(\\w+)\",\"(\\w+)\"\\]");
Matcher m = p.matcher("[\"one\",\"two\",\"three\"]");
boolean b = m.matches();
System.out.println(m.group(1)); //prints one

记住 group(0) 是相同的整个匹配序列。

Example on ideone


资源:

关于java - PHP 在 Java 中的 `preg_match_all` 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842112/

相关文章:

php - HTML(输入)->php->mysql->php->json->HTML 渲染

php - 找不到存储过程中的错误

regex - 是否可以计算正则表达式和字符串之间的编辑距离?

java - Dropwizard - 绑定(bind)不匹配 : not a valid substitute for the bounded parameter

java - 泛型混淆

Java renameTo() 函数不移动文件

java - 如何通过枚举列表进行 "reset"迭代

php - 帮助计算总行数

括号中的 Javascript 正则表达式编号

regex - Tcl 正则表达式 : Why '+' does not match as many as possible?