Java正则表达式全部替换

标签 java regex

我的文字看起来像这样

| birth_date          = {{birth date|1925|09|2|df=y}}
| birth_place         = [[Bristol]], [[England]], UK
| death_date          = {{death date and age|2000|11|16|1925|09|02|df=y}}
| death_place         = [[Eastbourne]], [[Sussex]], England, UK
| origin              = 
| instrument          = [[Piano]]
| genre               = 
| occupation          = [[Musician]]

我想获取 [[ ]] 中的所有内容。我尝试使用 replace all 来替换不在 [[ ]] 内的所有内容,然后使用 split by new line 来获取带有 [[ ]] 的文本列表。

input = input.replaceAll("^[\\[\\[(.+)\\]\\]]", "");

要求的输出:

[[Bristol]]
[[England]]
[[Eastbourne]]
[[Sussex]]
[[Piano]]
[[Musician]]

但这并没有给出所需的输出。我在这里错过了什么?有成千上万的文档,这是获取它的最快方法吗?如果不是,请告诉我获得所需输出的最佳方式。

最佳答案

你需要匹配它而不是替换

Matcher m=Pattern.compile("\\[\\[\\w+\\]\\]").matcher(input);
while(m.find())
{
    m.group();//result
}

关于Java正则表达式全部替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19186093/

相关文章:

java - 正则表达式将字母数字值与至少一个数字相匹配

用于排除大写匹配的正则表达式

java - 错误: cannot access org. openqa.selenium.HasInputDevices,未找到类文件

java - Hibernate 与 postgres 发生异常,无法找到表

java - 页面更改时更改 fragment 内容,ViewPager

php - 正则表达式查找数字和括号之间的数字

Javascript 正则表达式格式化程序现在允许具有 , 和 的数字。同时

java - 将数据从 Excel 传递到 Web 服务

java - 如何将 Eclipse C++ 添加到 Eclipse 经典?

regex - 如何使用Regex(Google Analytics(分析))排除特定的URL路径?