国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

正則表達(dá)式和爬蟲

這篇具有很好參考價(jià)值的文章主要介紹了正則表達(dá)式和爬蟲。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一、正則表達(dá)式:

? ? ? ? 作用:

字符類(只匹配一個(gè)字符)

? ? ? ? ? ? ? ? 細(xì)節(jié)

預(yù)定義字符字符(只匹配一個(gè)字符)

? ? ? ? ? ? ? ? 細(xì)節(jié)

數(shù)量詞

二、爬蟲

? ? ? ? Pattern

? ? ? ? Matcher

? ? ? ? ? ? ? ? 要點(diǎn)說(shuō)明


一、正則表達(dá)式:

? ? ? ? 作用:

? ? ? ? ? ? ? ? 1、校驗(yàn)字符串是否滿足規(guī)則

? ? ? ? ? ? ? ? 2、在一段文本中查找滿足要求的內(nèi)容(爬蟲)

字符類(只匹配一個(gè)字符)

[abc] 只能是a,b或c
[^abc] 除了這三個(gè)之外的任何字符
[a-zA-Z] a-z,A-Z(字符串出現(xiàn)的字符只要在兩個(gè)范圍(包括z,Z)之內(nèi)就為true)
[a-d[m-p]] a-d或者m-p
[a-z&&[def]] a-z和def的交集
[a-z&&[^bc]] a-z和非def的交集(即:[ad-z])
[a-z&&[^m-p]] a-z和除了m-p的交集(即:[a-[q-z]]])
? ? ? ? ? ? ? ? 細(xì)節(jié):如果要求兩個(gè)范圍的交集,那么需要寫符號(hào)“&&”。如果寫成一個(gè)&那么此時(shí)“&”表示的就不是交集了,而是一個(gè)簡(jiǎn)簡(jiǎn)單單的“&”符號(hào)。
System.out.println("&".matches("[a-z&&[def]]"));//false
System.out.println("&".matches("[a-z&[def]]"));//true

?

預(yù)定義字符字符(只匹配一個(gè)字符)

. 任何字符
\d 一個(gè)數(shù)字[0-9]
\D 非數(shù)字:[^0-9]
\s 一個(gè)空白字符:[\t\n\x0B\f\r]
\S 非空白字符
\w [a-za-Z_0-9]英文、數(shù)字、下劃線
\W [^\w]一個(gè)非單詞字符
? ? ? ? ? ? ? ? 細(xì)節(jié):在Java中“\”為轉(zhuǎn)義字符,表示改變后面那個(gè)字符原本的含義。雙引號(hào)""在Java中表示字符串的開頭或結(jié)尾?!?strong>\"”表示把"變成普普通通的"(僅僅只是一個(gè)符號(hào),不具備任何含義)

“\\”表示把\變成普普通通的\

System.out.println("你a".matches("."));//false
System.out.println("你a".matches(".."));//true
System.out.println("你".matches("\\w"));//false
System.out.println("你".matches("\\W"));//true

數(shù)量詞

X? X出現(xiàn)一次或零次
X* X出現(xiàn)零次或多次
X+ X出現(xiàn)一次或多次
X{n} X出現(xiàn)正好n次
X{n,} X出現(xiàn)至少n次
X{n,m} X出現(xiàn)至少n次但不超過(guò)m次

二、爬蟲

? ? ? ? Pattern:表示正則表達(dá)式

? ? ? ? Matcher:文本匹配器,作用按照正則表達(dá)式的規(guī)則去讀取字符串,從頭開始讀取。在大串中去找符合匹配規(guī)則的子串

? ? ? ? ? ? ? ? eg.有如下文本:Java自從95年問(wèn)世,經(jīng)歷了很多版本,目前企業(yè)中用到的最多的是Java8和Java11,因?yàn)檫@兩個(gè)是長(zhǎng)期支持版本,下一個(gè)長(zhǎng)期支持版本是Java17,相信在不久Java17也會(huì)逐漸登上歷史舞臺(tái)。

? ? ? ? ? ? ? ? 要求:找出里面所偶的JavaXX。

代碼如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class 爬蟲demo {
    public static void main(String[] args) {
        String str = "Java自從95年問(wèn)世,經(jīng)歷了很多版本,目前企業(yè)中用到的最多的是Java8和Java11,因?yàn)檫@兩個(gè)是長(zhǎng)期支持版本,下一個(gè)長(zhǎng)期支持版本是Java17,相信在不久Java17也會(huì)逐漸登上歷史舞臺(tái)";
        //獲取正則表達(dá)式的對(duì)象
        Pattern p = Pattern.compile("Java\\d{0,2}");
        //獲取文本匹配器的對(duì)象
        Matcher m = p.matcher(str);
        //利用循環(huán)從頭獲取,尋找是否有滿足規(guī)則的子串。
        while(m.find()){
            String s = m.group();
            System.out.println(s);
        }
    }
}

運(yùn)行結(jié)果如下:

正則表達(dá)式和爬蟲,java,正則表達(dá)式,爬蟲

? ? ? ? ? ? ? ? 要點(diǎn)說(shuō)明:代碼:

Matcher m = p.matcher(str);

中的——m:文本匹配器的對(duì)象

str:大串

p:規(guī)則

m:要在str中找符合p規(guī)則的小串文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-798580.html

m.find()會(huì)返回一個(gè)boolean類型的結(jié)果。如果沒有,返回false。反之返回true,并在底層記錄字串的起始索引和結(jié)束索引+1(+1之后再作為結(jié)束索引進(jìn)行傳遞)
String s = m.group();————方法底層會(huì)根據(jù)find方法記錄的索引進(jìn)行字符串的獲取:subString(起始索引,結(jié)束索引);包頭不包尾(所以find方法在結(jié)束索引位置+1就很有必要)

到了這里,關(guān)于正則表達(dá)式和爬蟲的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python爬蟲入門(三)正則表達(dá)式

    開源中國(guó)提供的正則表達(dá)式測(cè)試工具 http://tool.oschina.net/regex/,輸入待匹配的文本,然后選擇常用的正則表達(dá)式,就可以得出相應(yīng)的匹配結(jié)果了 常用的匹配規(guī)則如下 模 式 描 述 w 匹配字母、數(shù)字及下劃線 W 匹配不是字母、數(shù)字及下劃線的字符 s 匹配任意空白字符,等價(jià)于

    2024年02月08日
    瀏覽(21)
  • 爬蟲day2 正則表達(dá)式作業(yè)

    利用正則表達(dá)式完成下面的操作: 一、不定項(xiàng)選擇題 能夠完全匹配字符串\\\"(010)-62661617\\\"和字符串\\\"01062661617\\\"的正則表達(dá)式包括(ABD) A. r\\\"(?d{3})?-?d{8}\\\" B. r\\\"[0-9()-]+\\\" 中括號(hào)里面的字符出現(xiàn)任意次 C. r\\\"[0-9(-)]*d*\\\" (-) 表示(到)的所有字符 D. r\\\"[(]?d*[)-]*d*\\\" [(]就是一個(gè)(; [)-]是)- 能夠

    2023年04月08日
    瀏覽(24)
  • python爬蟲之正則表達(dá)式解析實(shí)戰(zhàn)

    python爬蟲之正則表達(dá)式解析實(shí)戰(zhàn)

    先獲取網(wǎng)址,URL:https://www.xiachufang.com/category/40076/ 定位想要爬取的內(nèi)容 使用正則表達(dá)式爬取 導(dǎo)入模塊 指定URL UA偽裝(模擬瀏覽器) 發(fā)起請(qǐng)求,獲取當(dāng)前頁(yè)面的數(shù)據(jù)內(nèi)容,并使用通用爬蟲爬取整個(gè)頁(yè)面 編譯正則表達(dá)式(提取想要的內(nèi)容) 解析請(qǐng)求內(nèi)容 指定圖片存儲(chǔ)路徑 持

    2024年02月08日
    瀏覽(19)
  • 8.網(wǎng)絡(luò)爬蟲—正則表達(dá)式RE實(shí)戰(zhàn)

    8.網(wǎng)絡(luò)爬蟲—正則表達(dá)式RE實(shí)戰(zhàn)

    前言 : ??????個(gè)人簡(jiǎn)介:以山河作禮。 ??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實(shí)力新星認(rèn)證 ??????此專欄文章是專門針對(duì)網(wǎng)絡(luò)爬蟲基礎(chǔ),歡迎免費(fèi)訂閱! ?????第一篇文章《1.認(rèn)識(shí)網(wǎng)絡(luò)爬蟲》獲得 全站熱榜第一 ,python 領(lǐng)域熱榜第一 , 第四篇文章《4.網(wǎng)絡(luò)爬蟲—

    2023年04月08日
    瀏覽(18)
  • 【python】網(wǎng)絡(luò)爬蟲與信息提取--正則表達(dá)式

    【python】網(wǎng)絡(luò)爬蟲與信息提取--正則表達(dá)式

    ? ? ? ? 正則表達(dá)式是用來(lái)簡(jiǎn)潔表達(dá)一組字符串的表達(dá)式。是通用的字符串表達(dá)框架,簡(jiǎn)潔表達(dá)一組字符串的表達(dá)式,針對(duì)字符串表達(dá)“簡(jiǎn)潔”和“特征”思想的工具,判斷某字符串的特征歸屬。 ? ? ? ? 用處:表達(dá)文本類型的特征;同時(shí)查找或替換一組字符串;匹配字符串

    2024年02月19日
    瀏覽(22)
  • 〖Python網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)⑨〗- 正則表達(dá)式基本原理

    訂閱:新手可以訂閱我的其他專欄。免費(fèi)階段訂閱量1000+? ????????????????python項(xiàng)目實(shí)戰(zhàn) ????????????????Python編程基礎(chǔ)教程系列(零基礎(chǔ)小白搬磚逆襲) 說(shuō)明:本專欄持續(xù)更新中,目前專欄免費(fèi)訂閱,在轉(zhuǎn)為付費(fèi)專欄前訂閱本專欄的,可以免費(fèi)訂閱付費(fèi)專欄,

    2023年04月15日
    瀏覽(23)
  • Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

    Java 之正則表達(dá)式語(yǔ)法及常用正則表達(dá)式匯總

    正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫為 regex、regexp 或 RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。 正則表達(dá)式是對(duì)字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱

    2024年02月09日
    瀏覽(31)
  • 【Java】 java | 正則 | 正則表達(dá)式 | 強(qiáng)密碼

    【Java】 java | 正則 | 正則表達(dá)式 | 強(qiáng)密碼

    1、需要驗(yàn)證密碼強(qiáng)度 2、使用正則 3、正則 4、java示例

    2024年02月07日
    瀏覽(25)
  • 正則表達(dá)式(JAVA)

    正則表達(dá)式在用于 校驗(yàn)信息 是否 滿足某些規(guī)則 的時(shí)候,非常的好用 在 文本中查找 滿足要求的內(nèi)容 符號(hào) 作用 補(bǔ)充 [abc] 只能是a,b或c 匹配的一個(gè)字符只能是 [] 范圍內(nèi)的其中一個(gè) [^abc] 除了a,b,c之外的任何字符 ^ 符號(hào)類似 非 [a-zA-Z] a到z A到Z ,包括范圍 - 作用是由…到… ,兩個(gè)或

    2024年02月10日
    瀏覽(35)
  • Java正則表達(dá)式

    Java正則表達(dá)式

    正則表達(dá)式 能夠理解正則表達(dá)式的作用 能夠使用正則表達(dá)式的字符類 能夠使用正則表達(dá)式的邏輯運(yùn)算符 能夠使用正則表達(dá)式的預(yù)定義字符類 能夠使用正則表達(dá)式的限定符 能夠使用正則表達(dá)式的分組 能夠在String的split方法中使用正則表達(dá)式 在Java中,我們經(jīng)常需要驗(yàn)證一些

    2024年01月19日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包