[英]Regex in Java for “greater than” or “less than” without using bracket “<|>” symbols
我需要Java Pattern.compile(“ <|>”)的正则表达式来匹配大于和小于符号的字符,而无需实际使用括号符号。 是否有一些特殊字符表示“>”或“ <”符号?
附加信息:原因是我的旧系统从资源文件中传递正则表达式,该文件首先使用一些html标记进行解析,并且多余的括号使解析器混乱,因此出错。 解决方案是用Java Pattern解释为“>”和“ <”的其他内容替换“>”和“ <”。
我试过的:Pattern.compile(“&grt;”)不会被解释为“>”
我在移动设备上,无法运行它进行测试,但是我相信您可以使用unicode代码点在括号中进行匹配。 这样就可以了: Pattern.compile("\\\<|\\\>");
有几种方法可以做到这一点:
((char) 60) + "|" + ((char) 62)
((char) 60) + "|" + ((char) 62)
; \\\<|\\\>
; \<|\>
。 关于最后一点-很少使用,但是程序员可以在Java源代码中的任何地方使用Unicode转义序列。 例如,
public\u0020class\u0020Main {
public\u0020static\u0020void\u0020main(String[] args) { }
}
是有效的Java代码。
您可以简单地转义这些字符,例如:
Pattern.compile("\\<|\\>")
通过使用反斜杠,您告诉正则表达式“按原样使用该字符!”
有关转义字符的更多信息,请参见https://www.baeldung.com/java-regexp-escape-char
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.