我正在尝试构建一个正则表达式,其功能如下所述:
字符串 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/