個人簡介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過程~
個人主頁:.29.的博客
學(xué)習(xí)社區(qū):進(jìn)去逛一逛~
-
正則表達(dá)式
: -
- ①可以校驗字符串是否滿足一定的規(guī)則,并用來校驗數(shù)據(jù)格式的合法性。
- 案例:
對象名.matches("[1-9]\\d{5,19}")
-
-
[1-9]
:開頭范圍1 - 9,即0不在開頭 -
\\d
:表示數(shù)字 -
{5,19}
:字符串在6位到20位之間
-
-
規(guī)則:
-
-
細(xì)節(jié):
-
-
&&
符號表示交集,單一的&
符號沒有特殊含義,僅表示符號本身。 -
\
:轉(zhuǎn)義字符,改變后面那個字符原本的含義。
-
-
②根據(jù)文本查找滿足要求的內(nèi)容(爬蟲)
-
- 本地爬蟲:
-
-
//正則表達(dá)式相關(guān)jar包: import java.util.regex.Matcher; import java.util.regex.Pattern; //正則表達(dá)式,在一段文本中查找滿足要求的內(nèi)容 public class regexDemo { public static void main(String[] args) { String str = "Java是一種編程語言、Java17是長期版本,Java8和" + "Java11是企業(yè)中用的最多的兩個版本。"; //1.Pattern表示正則表達(dá)式,獲取正則表達(dá)式實(shí)例對象 Pattern p = Pattern.compile("Java\\d{0,2}"); //獲取文本匹配器對象 //m:文本匹配器對象 //p:規(guī)則 //str:文本 //m要在str中尋找符合規(guī)則p的字符子串 Matcher m = p.matcher(str); //2.find()使用文本匹配器從頭讀取文本,不存在滿足規(guī)則p的子串,返回false, //存在滿足規(guī)則的字串,記錄起始索引和結(jié)尾索引+1 while(m.find()) { //3.group()根據(jù)find()記錄的索引截取字符串,[起始索引,結(jié)尾索引+1) System.out.print(m.group() + " "); } } }
-
帶條件爬?。?/strong>
Java(?=8|11|17)
:?表示左括號前的數(shù)據(jù)Java,=表示數(shù)據(jù)Java后拼接的數(shù)據(jù),8或11或17,?=
在find()記錄時,只記錄前半部分?jǐn)?shù)據(jù)的索引,而?:
則獲取全部數(shù)據(jù)。 -
貪婪爬取(盡可能多地獲取數(shù)據(jù)):文章來源:http://www.zghlxwxcb.cn/news/detail-718311.html
-
- 只寫+和*表示貪婪匹配(Java中默認(rèn)就是貪婪爬取)
- +?表示非貪婪匹配(盡可能少地獲取數(shù)據(jù))
- *?表示非貪婪匹配(盡可能少地獲取數(shù)據(jù))
-
文章來源地址http://www.zghlxwxcb.cn/news/detail-718311.html
到了這里,關(guān)于【Java】正則表達(dá)式,校驗數(shù)據(jù)格式的合法性。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!