您好,登錄后才能下訂單哦!
在優銳課的java學習分享中,我們探討了關于了解有關Java中匹配模式的更多信息。我們可以看到,碼了很多專業的相關知識, 分享給大家參考學習。
如果你使用的是Java,那么你之前很有可能會看到其模式匹配。 String#matches(String)方法在內部使用Pattern類型,它包含更復雜的功能:
通過編譯正則表達式來創建模式。 該模式與任何輸入字符串匹配,并且可以選擇查找捕獲組,這些捕獲組隔離了字符串數據的某些部分。
該API的用法如下:
Pattern pattern = Pattern.compile("([\\^\\S]+) is powerful");
Matcher matcher = pattern.matcher("Java is powerful");
System.out.println(matcher.find()); // true
System.out.println(matcher.group()); // Java is powerful
System.out.println(matcher.group(1)); // Java
find()方法查找模式的下一個匹配項,在此示例中與整個輸入字符串匹配。 group()方法將返回整個捕獲組,即匹配整個模式,或者在使用索引限定時返回單個捕獲組。 捕獲組索引從1開始,而不是從0開始。
還有matches()方法,其工作原理略有不同:
Pattern pattern = Pattern.compile("([\\^\\S]+) is powerful");
Matcher matcher = pattern.matcher("Our Java is powerful");
System.out.println(matcher.matches()); // false
System.out.println(matcher.find()); // true
matchs()嘗試從頭到尾將整個輸入字符串與模式匹配,而find()僅嘗試在輸入字符串中的某處找到模式。
另外提醒一下:請僅對不重復重復的單個匹配調用使用快捷方式方法String#matches(String)或Pattern#matches(String,CharSequence)。 模式編譯起來很繁瑣,我們應該利用模式類型的不變性,并將其重用于多個匹配項。
發現帖子有用嗎? 歡迎評論轉發!
抽絲剝繭,細說架構那些事~
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。