java - 我怎样才能颠倒这个正则表达式?

标签 java regex

我正在尝试搜索此字符串“Spelled [wurd] Show IPA noun 1.a”

并使用以下命令删除 [ ] 之外的所有内容:

String pron = noHTML.replaceAll("\\[.*?]","");  //(there is a double \\ \\ here...)

这会替换里面的所有内容..如何反转它? :S

我尝试过组合!和 ^ 但它似乎不起作用。

最佳答案

我只需将整个字符串替换为括号中的部分:

String pron = noHTML.replaceAll(".*?\\[(.*?)\\].*", "$1");

这 (1) 匹配整个字符串,(2) 捕获括号中的部分并将其存储在第一个捕获组中,(3) 使用该组作为整个匹配字符串的替换。

在结果中包含括号只是简单地将 () 向外移动一点:

String pron = noHTML.replaceAll(".*?(\\[.*?\\]).*", "$1");

关于java - 我怎样才能颠倒这个正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15803112/

相关文章:

java - 如何从字符串中删除最后一个字符?

java - 使用 Datanucleus Rest API 时出现错误

java - 无法将数据填充/更新到另一个 JTable "B"onclick JTable "A"中的特定行

java - 使用正则表达式提取字符串

c# - Regex.Replace 在 html 字符串中查找可变宽度和高度并替换为设置值

java - JScrollPane 'laggy' 滚动,有很多组件

java - 从 src 属性(url)中提取图像名称

python - 如何在 Pandas 数据框中组合 AND 和 OR 运算符?

regex - r- 多重匹配中的部分匹配

javascript - 正则表达式删除所有不跟在数字后面的句点