java - Java 中的什么正则表达式可以捕获并删除此模式?

标签 java regex

假设我有几行维基百科 XML 如下所示:

[[Image:ChicagoAnarchists.jpg|thumb|A sympathetic engraving by [[Walter Crane]] of the executed "Anarchists of Chicago" after the [[Haymarket affair]]. The Haymarket affair is generally considered the most significant event for the origin of international [[May Day]] observances]] In 1907, the [[International Anarchist Congress of Amsterdam]] gathered delegates from 14 different countries, among which important figures of the anarchist movement, including [[Errico Malatesta]]

我想删除以 [[Image:”开头并以“observances]] 结尾的行。 可能还有其他几行带有方括号的文本,我不想进行贪婪搜索,否则它也可能会不小心删除其他方括号。

例如,如果我只是做了一个贪婪的 \\[\\[Image:.*\\]\\],我相信它会删除最后一个右括号之前的所有内容(Ericco马拉泰斯塔)

是否有正则表达式可以让我更轻松地完成这项工作?

最佳答案

让我们看看...使用惰性重复而不是贪婪重复怎么样?

\[\[Image:.*?observances\]\]

关于java - Java 中的什么正则表达式可以捕获并删除此模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974595/

相关文章:

java - Jenkins 发布作业与构建作业

java - Java如何强制类扩展Object?

javascript - 从javascript中的参数化字符串中解析值

regex - Lex 程序从给定文本中删除单行和多行注释

regex - 在语法高亮规则中组合 vim 先行和后行约束

java - 移动插入符时保持 JScrollPane (JTextPane) 滚动条在适当的位置吗?

java - 一个线程可以消耗多个队列吗?

java - 带接口(interface)的 AsyncTask onPostExecute

python - 自动执行目录差异,同时忽略文件中的某些特定行

php - 正则表达式/PHP,结尾不匹配