婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 正則表達式 學習資料整理

正則表達式 學習資料整理

熱門標簽:百音電話機器人 福州工作銷售電話機器人 知名的電話機器人 錫林郭勒盟地圖標注位置 高德地圖標注短信簽約 湖南企業智能外呼系統供應商 RO地圖標注app 自制電銷機器人 電銷機器人公司簡介

常用正則表達式 整理篇
https://www.jb51.net/article/17355.htm

正則表達式高級學習技巧
https://www.jb51.net/article/9229.htm

1.正則表達式簡介

正則表達式(Regular expression,簡寫為Regexes)是一種用來操作和檢驗字符串數據的強大工具。它相當與一串特殊的字符,用它可以轉換成算法,對文本進行匹配等操作。

       事實上正則表達式有其自身的一套語法,這種語法對于初學者來說顯得有些晦澀難懂。尤其是其構造比較困難,稱為很多入門者的障礙。但當掌握后卻可以輕易的解決以前不容易解決的很多文本類問題,如驗證提取等。

其常用場合有如下三種:

Ø        測試字符串的某個模式。例如,可以對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數據有效性驗證。

Ø        替換文本。可以在文檔中使用一個正則表達式來標識特定文字,然后可以全部將其刪除,或者替換為別的文字。

Ø        根據模式匹配從字符串中提取一個子字符串??梢杂脕碓谖谋净蜉斎胱侄沃胁檎姨囟ㄎ淖帧?/SPAN>      

2.正則表達式基礎語法

2.1匹配不同類型的字符

 

字符類

匹配的字符

\d

匹配一個數字字符。等價于 [0-9]。

\D

匹配一個非數字字符。等價于 [^0-9]。

\w

匹配包括下劃線的任何單詞字符。等價于'[A-Za-z0-9_]'。

\W

匹配任何非單詞字符。等價于 '[^A-Za-z0-9_]'。

\s

匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ \f\n\r\t\v]。

\S

匹配任何非空白字符。等價于 [^ \f\n\r\t\v]

.(點號)

任一字符

[...]

括號中的任一字符

[^…]

非括號中的任一字符

2.2定位控制字符

^

其后的模式必須在字符串的開始處,如果是多行則在任一行的開始C#需要設定Multiline標志

$

前面的模式必須在一行的末尾,如果是多行,則在任意行的末尾

\A

前面的模式必須在字符串的開始處;多行標志被忽略

\z

前面的模式必須在字符串的末尾處,多行標志被忽略

\Z

前面的模式必須位于字符串的末尾或位于換行符前

\b

匹配一個單詞字符的開始,單詞字符是[a-zA-Z0-9]中的一位

\B

匹配一個非單詞邊界的位置, 不在一個單詞的開始

2.3指定重復字符

{n}

匹配前面的字符n

{n,}

匹配前面的字符最少n

{n,m}

匹配前面的字符nm

?

匹配前面的字符0次或1

+

匹配前面的字符至少1

*

匹配前面的字符至少0

2.4特殊控制類

|

指定字符替換,即該位置可以是|兩邊的任一個表達式

2.5 特殊字符轉義序列

\\

匹配”\”

\.

匹配“.

\*

匹配“*

\(

匹配“(”

\)

匹配”)”

\?

匹配“?“

\+

匹配“+

\|

匹配“|

\{

匹配“{

\}

匹配“}

\^

匹配“^

\$

匹配“$

\n

匹配換行符

\r

匹配回車

\t

匹配Tab

\v

匹配垂直制表符

\f

匹配換頁符

\nnn

匹配一個三位八進制數指定的ASCII字符,如\103匹配C

\xnn

匹配一個二位16進制數指定的ASCII字符,例如\x43匹配C

\unnnn

匹配一個416進制數指定的Unicode字符

\cV

匹配一個控制字符,(如復制Ctrl+C

2.6正則表達式分組、替換、反向引用等高級應用

以上只是正則表達式的基礎部分,從這里開始才算真正開始正則表達式之旅。

²       分組

分組技術可以匹配在一個組中的所有字符,用()來表示,是下面兩個技術的基礎所在?!埃ǎ坝址Q捕獲符號。

1.    捕獲:()

例子:ABC1EDF2UU

匹配組表達式:([A-Z]{3})\d  --匹配3個連續大寫字母和一個數字

匹配結果:1.ABC1,2.EDF2

如果用C#中的group,則為ABC,EDF。因為group搜集的是匹配組的內容。
2.
非捕獲(?:)

使用了非捕獲就說明該()中的內容將不作為捕獲的組返回,而和其它表達式共同構成匹配項返回。也就是捕獲組將不存在。

例:1AF3EDC

匹配表達式:(?:\d|[A-Z]\w  --匹配一個數字或字母加一個任意的字符。

匹配結果:1.1A 2.F3 3.ED

沒有組被捕獲

2.    通過名稱捕獲(?name>

定義了名稱捕獲的組可以在反向匹配中運用名稱進行反向引用而不需要再使用數字進行反向捕獲。注意組名區分大小寫!

²       替換

替換,顧名思義,是將匹配的字符替換成其他指定的字符形式。這個功能是在分組的基礎上的(當然或許可以單獨存在,但是那樣匹配的功能顯然不夠強大)。在這里有一個技巧是使用附加的匹配字符控制匹配內容。

$group

group指定的組號進行替換

${name}

替換由?name>匹配的最后一個子串

$$

替換字符$

$

替換整個的匹配

$+

替換最后捕獲的組

$

替換整個輸入的字符串

 

²       反向引用

反向匹配可以引用前面組中的匹配形式。“\匹配組的數字表示(1為基數)“或者”\kgroupname>

²       高級組

1.    正聲明(?=

規定了括號中的模式必須出現在聲明的右側。模式將不構成匹配的一部分。

2.    負聲明(?!

規定了括號中的模式不能出現在聲明的右側,模式將不構成匹配的一部分。

3.    反向正聲明(?=

規定了括號中的模式必須出現在聲明的左側,模式將不構成匹配的一部分。

4.    反向負聲明(?!

規定了括號中的模式必須出現在聲明的左側。模式不構成匹配的一部分。

5.    非回溯(?>

防止了正則表達式引擎搜索失敗時回溯,這稱之為貪婪的子表達式。

如輸入字符串:He  was very trusting.

正則表達式:.*ing將匹配trusting但是如果加入(?>ing則不能完成匹配。

非回溯組也是非捕獲組。他對于提高正則表達式的效率很有效。

如匹配一個www.****.com的網址。使用www\.(.*)\.com顯然要比www\.([^.]*)\.com效率要低的多,因為前者必須使用組中的回溯操作,回溯是很艱難的過程,所以當使用非回溯的正則表達式時時可以顯著提高正則表達式的效率的。

其實正則表達式是只注重匹配結果的,所以會努力去匹配所存在的字符串。這就是它的貪婪性所在。(這點其實理解的不是太深)。

注意以上這些(1-5)都不能夠用于反向引用,因為以上聲明將不作為匹配的一部分。

2.7在正則表達式中做決策

高級決策的兩種寫法:

1=>(?(expressionyes|no)

2=>(?(?=expression)yes|no)

這兩種方式中的的expression匹配則后面進行匹配yes,否則匹配no。

需要注意的一點是yes測試和決策測試是在同一個起點里進行的。

如以下字符串:77-77A 69-AA 57-B

匹配表達式為:(\d7)?-(?(1)\d\d[A-Z]|[A-Z][A-Z])

匹配結果為:

1.77-77A   2. –AA

這個正則表達式中用到了引用組,(?(1**)中的1也可以換為\1,這樣不影響匹配。這個匹配中如果將決策后面的\d\d去掉則會出現不同的結果,這時只會有一個-AA是匹配的。因為決策點和yes表達式是從同一個起點開始匹配所以即使決策點匹配了,但是后面的yes表達式仍然不匹配。就只匹配no部分的表達式。最終結果也必然改變,理解這一點很重要。

2.8 正則表達式的選項

快到結尾了,再說下正則表達式的選項。選項其實就是將正則表達式的設置改到組中來。如(?i:[a-z])將忽略大小寫進行匹配。實際上如果學過Javascript中的正則表達式,可以看出這個ijavascript中表示的還是這個意思。

N

規定只有顯示命名的組標號的組才能有效的捕獲

I

此選項匹配不區分大小寫的匹配

X

此選項規定,非轉義的空字符被排除在模式之外,并啟用了一個前綴#的注釋

M

指定多行模式,修改了^$的定義

S

指定單行模式

2.9正則表達式的規則

1.正則表達式會對輸入字符傳進行最快的匹配,它一次搜索一個字符,知道實現第一次匹配。

2.發現一個匹配的開始后,正則表達式引擎將繼續匹配,直到遇到一個不被模式接收的字符。

3.Regex引擎非常貪婪只要模式匹配它將匹配盡可能多的字符。

4.Regex渴望實現匹配,所以將在需要時回溯以實現匹配。

5.Regex引擎總是先選擇第一個選項。在|式表達式中。

以上的幾點很重要。到這正則表達式的幾乎所有規則也就講完了。

最后附一個懶惰匹配常用修飾和其他的限定

*

盡可能少地使用重復的第一個匹配

+?

盡可能少地使用重復但至少使用一次

??

使用零次重復(如有可能)或一次重復

{n}?

等同于{n}

{n, }?

盡可能少地使用重復但至少使用n

{n,m}?

介于nm之間,盡可能少地使用重復

作者:hanxing0的專欄
您可能感興趣的文章:
  • 正則表達式簡介及在C++11中的簡單使用教程
  • 正則表達式匹配不包含某些字符串的技巧
  • 正則表達式(括號)、[中括號]、{大括號}的區別小結
  • 匹配中文漢字的正則表達式介紹
  • 匹配yyyy-mm-dd日期格式的的正則表達式
  • 精通JS正則表達式(推薦)
  • 正則表達式基本語法詳解
  • 常見的數字驗證正則表達式整理
  • 最全的常用正則表達式大全——包括校驗數字、字符、一些特殊的需求等
  • C語言正則表達式操作示例

標簽:玉林 吉林 昆明 河北 西寧 怒江 秦皇島 茂名

巨人網絡通訊聲明:本文標題《正則表達式 學習資料整理》,本文關鍵詞  正則,表達式,學習資料,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式 學習資料整理》相關的同類信息!
  • 本頁收集關于正則表達式 學習資料整理的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产成人综合亚洲网站| 欧美优质美女网站| 色视频一区二区| 久久伊人蜜桃av一区二区| 亚洲综合清纯丝袜自拍| 国产**成人网毛片九色| 欧美丰满美乳xxx高潮www| 国产精品视频一二三| 韩国女主播成人在线| 欧美精品三级日韩久久| 亚洲欧美在线观看| 成人动漫在线一区| 国产性天天综合网| 精品国产免费人成在线观看| 日本韩国欧美一区| 国产精品女人毛片| 狠狠色综合日日| 日韩精品中文字幕一区| 3d动漫精品啪啪| 欧美日韩在线不卡| 亚洲大片免费看| 欧美午夜理伦三级在线观看| 亚洲欧美日韩一区| 色婷婷综合久久久中文字幕| 国产精品色一区二区三区| 国产精品一卡二卡在线观看| 久久久久青草大香线综合精品| 国产色产综合产在线视频| 精品久久国产老人久久综合| 日本aⅴ免费视频一区二区三区| 欧美性大战xxxxx久久久| 亚洲男人的天堂一区二区| 91老司机福利 在线| 国产精品卡一卡二| 色94色欧美sute亚洲线路一久 | 国内精品在线播放| 国产一区二区在线观看视频| 国产精品一区免费在线观看| 久久噜噜亚洲综合| 成人免费视频视频在线观看免费 | 捆绑调教美女网站视频一区| 欧美一区二区三区爱爱| 黑人巨大精品欧美黑白配亚洲| 国产亚洲欧美日韩日本| 高清久久久久久| 一卡二卡欧美日韩| 日韩欧美激情四射| 国产成人av电影在线播放| 中文字幕亚洲区| 色94色欧美sute亚洲线路二| 日日噜噜夜夜狠狠视频欧美人| 日韩精品一区二区三区中文不卡| 国内精品免费**视频| 亚洲丝袜自拍清纯另类| 777奇米成人网| 懂色av一区二区三区蜜臀| 亚洲欧美自拍偷拍| 日韩欧美一区在线观看| 成人免费高清在线| 亚洲va欧美va人人爽| 久久久久久久久久久久久久久99| 色综合久久中文综合久久牛| 日本一不卡视频| 国产精品免费丝袜| 日韩一级欧美一级| 不卡一区中文字幕| 青青草精品视频| 国产精品久久久久婷婷二区次| 欧美日精品一区视频| 丁香另类激情小说| 日韩精品电影一区亚洲| 中文字幕一区二区不卡| 日韩精品中午字幕| 欧美日韩一二三区| 高清不卡在线观看av| 免费在线观看日韩欧美| 亚洲欧美日韩国产综合| 久久久美女艺术照精彩视频福利播放| 欧美在线看片a免费观看| 国产suv一区二区三区88区| 亚洲va欧美va国产va天堂影院| 欧美国产禁国产网站cc| 日本大胆欧美人术艺术动态| 99久久精品国产导航| 美脚の诱脚舐め脚责91| 亚洲va国产va欧美va观看| 专区另类欧美日韩| 成人综合在线观看| 精品av久久707| 91精品国产综合久久久蜜臀粉嫩 | 亚洲欧美自拍偷拍色图| 久久久亚洲精品石原莉奈| 这里只有精品电影| 欧美日韩免费观看一区二区三区| 风间由美一区二区av101| 久久 天天综合| 日本美女一区二区三区视频| 一区二区成人在线视频| 亚洲猫色日本管| 国产精品久久久久久久久久免费看| 日韩欧美一二三区| 欧美高清视频一二三区 | 日韩一区在线免费观看| 国产欧美日韩在线视频| 久久久久国产精品麻豆| 国产日韩三级在线| 日本一区二区三区四区在线视频| 精品国产乱码久久久久久久| 欧美成人精品3d动漫h| 日韩欧美资源站| 久久久久久久久久久黄色| 久久噜噜亚洲综合| 国产精品色哟哟| 一区二区三区四区激情| 夜夜爽夜夜爽精品视频| 亚洲大片精品永久免费| 性久久久久久久久久久久| 日韩成人免费在线| 国产资源精品在线观看| 国内不卡的二区三区中文字幕 | 中文字幕在线不卡视频| 国产精品毛片大码女人| 亚洲手机成人高清视频| 夜夜嗨av一区二区三区中文字幕| 亚洲国产三级在线| 日本特黄久久久高潮| 国产精品主播直播| 972aa.com艺术欧美| 欧美伊人精品成人久久综合97| 欧美精品色综合| 久久精品男人的天堂| 亚洲精品视频免费观看| 日韩黄色一级片| 国产精品99久久久久久久女警| 丁香婷婷综合网| 欧洲人成人精品| 欧美成人一区二区三区在线观看 | 中日韩av电影| 一区二区三区产品免费精品久久75| 亚洲mv在线观看| 国产高清亚洲一区| 在线观看日产精品| 久久久精品tv| 亚洲不卡一区二区三区| 国产成人免费视频一区| 色哟哟国产精品| 久久婷婷色综合| 亚洲午夜久久久久久久久久久| 精品亚洲aⅴ乱码一区二区三区| 高清shemale亚洲人妖| 欧美一区二区三区在线| 国产精品初高中害羞小美女文| 日韩高清一区二区| www.视频一区| 精品成人一区二区| 一区二区三区四区视频精品免费| 国产一区二区三区四区五区入口 | 91福利在线播放| 久久婷婷国产综合精品青草| 亚洲欧洲综合另类| 国产精品亚洲成人| 欧美丰满一区二区免费视频| 国产精品色婷婷| 欧美精品一区二区三区久久久 | 亚洲天堂免费在线观看视频| 日本中文一区二区三区| 色妞www精品视频| 97se亚洲国产综合自在线不卡| 国产精品一区二区三区乱码| 日韩一区二区免费在线电影 | 久久97超碰色| 欧美另类高清zo欧美| √…a在线天堂一区| 高清国产一区二区三区| 精品国产乱码久久久久久久久| 亚洲国产精品一区二区www| 风间由美一区二区三区在线观看| 欧美成人伊人久久综合网| 亚洲高清一区二区三区| 91视频一区二区| 国产精品美女久久久久aⅴ国产馆| 国产乱对白刺激视频不卡| 日韩欧美一区在线| 日本不卡一二三| 欧美一区二区精品在线| 欧美一区二区精品在线| 五月天久久比比资源色| 午夜影院在线观看欧美| 91国偷自产一区二区开放时间| 国产精品久久久久四虎| 高清不卡一二三区| 国产精品卡一卡二| 9久草视频在线视频精品| 亚洲色图视频网| 91网站最新地址| 亚洲制服丝袜av| 欧美精选一区二区| 老司机精品视频线观看86 | 欧美国产国产综合| 黄色成人免费在线|