[英]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.