java - 查找所有带有双方括号的子序列

标签 java regex

我的输入文本如下所示:

..some_text0 [[some_text1]] some_text2 [[some_text3]] some_text4 ....

我想提取双方括号内包含的所有文本,或者我想单独获取组:

some_text1
some_text3

我尝试了这个解决方案:

Matcher m = Pattern.compile("\\[\\[.*\\]\\]").matcher(line_input);

while (m.find()) {

  System.out.println("Found: " + matcher.group());

}

但是这打印了我:

[[some_text1]] some_text2 [[some_text3]]

作为唯一的结果。如何实现我的目标?

最佳答案

此任务的正则表达式如下

\[\[(.*?)]]

它搜索 [[ 后跟任何以 ]] 结尾的字符串

这里是DEMOexplanation

关于java - 查找所有带有双方括号的子序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740658/

相关文章:

java - 使用GSON解析ArrayList的ArrayList

java - 如何在 jsf/a4j 中重新渲染动态 id(嵌套在 datalist 中)?

python - 正则表达式匹配变量并从python中的匹配行获取引号内的单词

c# - 允许以大写字母开头,后跟小写字母的正则表达式是什么?

c# - 正则表达式或其他方法可从特定位置在C#中使用字符串

java - 为什么 Weld 需要 AnnotationLiteral 而不是 Annotation 类?

java - 在测试中排除一些bean

java - PaintComponent 中的 BufferedImage 始终为 null

php - 需要至少一个字母字符

regex - Vim:如何只搜索和替换每一行的一部分?