【发布时间】:2018-04-14 15:29:22
【问题描述】:
我有以下两种模式来匹配带有可能的前导空格的 html 标记名称。 [ ]* 位于命名组 <doubletag> 内的第一个模式不起作用,但 [ ]* 紧跟标记符号 "<" 的第二个模式起作用。我不知道为什么第一个不起作用。
String s = "< pre href = "dajflka" >ld fjalj09u293 ^% </pre>";
Pattern ptr = Pattern.compile("(<(?<doubletag>[ ]*[a-z]+)([ \\d\\s\\w\\W[^>]])*>)(.*)(</\\k<doubletag>[ ]*>)");
Pattern ptr = Pattern.compile("(<[ ]*(?<doubletag>[a-z]+)([ \\d\\s\\w\\W[^>]])*>)(.*)(</\\k<doubletag>[ ]*>)");
Matcher match = ptr.matcher(s);
if(match.find()){
System.out.println("Found");
}
【问题讨论】:
-
用 RegExp 解析 HTML 不是那么精确,你应该使用类似 jsoup 这样的东西。
-
@Titus 我知道。我只是在hackerrank中解决正则表达式的问题。谢谢!
标签: java regex regex-group