[英]Java Regular expression for 1=1
我需要查找java正則表達式模式,找到格式為1 = 1的輸入字符串,其中“=”的前綴應該具有相同的后綴數字。 此外,前綴和后綴值應該相同,如1 = 1,11 = 11,223 = 223。 像1 = 2,3 = 22,33 = 22的值應該與模式不匹配
我們能否有一般模式來滿足上述規則。
使用后退參考:
(\d+)=\1\b
當然,在java中你需要轉義反斜杠:
"(\\d+)=\\1\\b"
您也可以不使用正則表達式進行檢查。
String exp="lhs=rhs";
if(exp.split("=")[0].equals(exp.split("=")[1])){
System.out.println("true");
}else{
System.out.println("false");
}
您可以使用捕獲組和反向引用 :
^(\\d+)=\\1$
[錨點是為了防止其他任何匹配]
或許更簡單的表達方式是:
^\\s*(\\d+)\\s*=\\s*\\1\\s*$
這會忽略最終的空白,否則可能會使事情無法按預期工作。 當然,這現在取決於你是否說,例如1 =1
是一個有效的輸入字符串。
更一般的表達可能是:
^\\s*(.+?)\\s*=\\s*\\1\\s*$
你可以在等號之前比較任何字符串。 .+?
匹配任何字符,直到等號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.