簡體   English   中英

Java正則表達式為1 = 1

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM