java - 正则表达式用空格拆分包含标签但不破坏 java 中的标签的字符串

标签 java regex

我正在尝试构建一个正则表达式,其功能如下所述:

字符串 killing of <span class="abc">cats</span>, hi <span class="xyz">dogs</span>,

分成:

1. killing
2. of
3. <span class="abc">cats</span>,
4. hi
5. <span class="xyz">dogs</span>,

这个正则表达式 \\<.*?\\>|拆分它但标签被剥离并且,标签之后是一个新字符串。

最佳答案

不能帮助 split(),但这里有一个顺序 find() 的解决方案:

final String s =
    "killing of <span class=\"abc\">cats</span>, "
    + "hi <span class=\"xyz\">dogs</span>,";
final Matcher matcher = Pattern.compile(
    "(<.*?>.*?</.*?>|\\w+)\\p{Punct}*").matcher(s);
while (matcher.find()) {
    System.out.println(matcher.group());
}

输出:

killing
of
<span class="abc">cats</span>,
hi
<span class="xyz">dogs</span>,

关于java - 正则表达式用空格拆分包含标签但不破坏 java 中的标签的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519944/

相关文章:

c# - 无法将 '#' 检测为特殊键(Regex Asp.net)

java - 安卓异常 : 'java.lang.NoClassDefFoundError: javax.jmdns.JmDNS'

java - 我们可以将 CDATA 嵌入到 xml 中的名称值对的纯字符串中吗?

java - 集成maven和eclipse后获取MojoExecutor.execute异常

java - 正则表达式查找文本中标签之间重复标签的单词

regex - 如何限制正则表达式中的可选空白匹配

regex - 在 Perl 中使用正则表达式模式生成语法?

Java - 创建返回偏导数的方法

java - 进程 killer 识别

regex - Sed 正则表达式更改文件