我正在制作一个从wiki markup生成HTML文档的应用程序。而且我认为正则表达式是将标记替换为HTML标签的正确方法。我想出了一个可以使用的正则表达式来查找标记,但是在保留句子的同时找不到Java API来替换它。
正则表达式由答案提示:--([^-]+)--
(正则表达式--([^-])+--
在Java API中表现不佳。在捕获组内移动+
可解决此问题。)
例:--This is strike--
应该是<strike>This is strike</strike>
但是,不应替换诸如This is ---- normal text
或---Triple hyphens---
的情况。
但是,类似--striked----also striked--
的情况也可以。
请只使用Java 6。
欢迎任何帮助。提前致谢。
编辑:根据一个答案,看来我可以为此目的使用$1
。
最佳答案
组(...)
按出现的顺序从1开始编号。
后缀运算符*
= 0或更大,+
是1或更大。
s = s.replaceAll("--([^-]+)--", "<strike>$1</strike>");