[英]Regex index 0 how it exactly works
通過編譯以下內容:
System.out.println(Pattern.matches(".?(\\d)$","3"));
它返回true,因為在3
之前什么都沒有?
檢查一個或零。 但是3已經是輸入的第一個字符,從0開始到1結束。如何在jvm之前識別出3之前沒有任何內容。例如以下內容。
的System.out.println(Pattern.matches( “你好”) “*”;
它也返回true,但只有最后一個字符與“nothing”匹配。 在字符串的開頭不應該有“無”字符,只是在字符串的末尾?
你沒有正確解釋你的正則表達式。 沒有“沒什么特征”這樣的東西。 相反,您的模式顯示:任何字符串后跟字符串末尾的數字或字符串末尾的數字。
當然,“3”非常適合第二種描述。
matches
方法嘗試完全匹配輸入。
所以沒有必要使用^
, $
..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.