Java正则表达式匹配模式

标签 java xml regex

我正在尝试使用正则表达式来解析与此类似的字符串:

<tag>Text that is written here. This could happen here: <Inline::~Inline> </tag>

如何使用正则表达式替换内联中的“<”和“>”字符。问题是 Inline 可能有不同的名称,并且在主标记内可以看到诸如“< 20”之类的比较。

谢谢。

最佳答案

假设内联标签:

  • 两次出现相同的字符串,其中一次前面有波浪号
  • 始终有两个冒号

那么这应该可以工作:

    String s= "<tag>some text here > 20 <test::~test> and then </tag>";
    s = s.replaceAll("<((\\w+)::~\\2)>","$1");
    System.out.println(s);

无论内联/测试被称为什么。

已编辑 - 忘记放入两个冒号:-)

关于Java正则表达式匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9294230/

相关文章:

java - DropWizard 0.7.1 记录文件追加器问题

java - 调用 super.clone() 方法时向下转型

javascript - 如何在 XSL 的 javascript for 循环中使用 less than 来工作?

javascript - 在 ng-pattern 中匹配 [/, .] 的正则表达式

regex - Scala 正则表达式联合

java - 如何比较原始类型中忽略大小写的字符

java - 当 SQL 子句需要 "disappear"来表示退化情况时,有没有办法使用 @Bind 而不是 @Define?

xml - 使用 r httr 从谷歌搜索中抓取 url

xml - XSLT - 将一个节点中的值替换为其前一个兄弟节点的值

python - 如何在Python中提取某个单词后的字符串?