日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

用Java匹配模式

發布時間:2023/12/3 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Java匹配模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果您使用的是Java,那么您之前很有可能會看到其模式匹配。 String#matches(String)方法在內部使用Pattern類型,該類型包含更復雜的功能:

通過編譯正則表達式來創建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

matches()嘗試從頭到尾將整個輸入字符串與模式匹配,而find()僅嘗試在輸入字符串中的某個位置查找模式。

另外,提醒一下:請僅將快捷方式String#matches(String)或Pattern#matches(String, CharSequence)用于不重復重復的單個匹配調用。 模式編譯起來很繁瑣,我們應該利用模式類型的不變性,并將其重用于多個匹配項。

帖子的內容已從我的通訊034中重新發布 。

翻譯自: https://www.javacodegeeks.com/2019/12/matching-patterns-with-java.html

總結

以上是生活随笔為你收集整理的用Java匹配模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。