成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

正則表達式字符集探究

開發 后端
正則表達式字符集的使用是如何的呢?我們在使用正則表達式的時候很多時候會碰到大量的數據,那么這個時候正則表達式字符集會給我們帶來什么驚喜呢?那本文就向你介紹詳細的內容。

正則表達式字符集是什么呢?我們在使用正則表達式的時候,正則表達式字符集起到什么作用呢?那么這里就向你介紹一下正則表達式字符集的概念以及所包含的具體的方法和使用。

正則表達式字符集是由一對方括號“[]”括起來的正則表達式字符集合。使用正則表達式字符集,你可以告訴正則表達式引擎僅僅匹配多個字符中的一個。如果你想匹配一個“a”或一個“e”,使用﹤﹤[ae]﹥﹥。你可以使用﹤﹤gr[ae]y﹥﹥匹配gray或grey。這在你不確定你要搜索的字符是采用美國英語還是英國英語時特別有用。相反,﹤﹤gr[ae]y﹥﹥將不會匹配graay或graey。正則表達式字符集中的字符順序并沒有什么關系,結果都是相同的。

你可以使用連字符“-”定義一個字符范圍作為正則表達式字符集。﹤﹤[0-9]﹥﹥匹配0到9之間的單個數字。你可以使用不止一個范圍。﹤﹤[0-9a-fA-F] ﹥﹥匹配單個的十六進制數字,并且大小寫不敏感。你也可以結合范圍定義與單個字符定義。﹤﹤[0-9a-fxA-FX]﹥﹥匹配一個十六進制數字或字母X。再次強調一下,字符和范圍定義的先后順序對結果沒有影響。

◆正則表達式字符集的一些應用

查找一個可能有拼寫錯誤的單詞,比如﹤﹤sep[ae]r[ae]te﹥﹥ 或 ﹤﹤li[cs]en[cs]e﹥﹥。

查找程序語言的標識符,﹤﹤A-Za-z_][A-Za-z_0-9]*﹥﹥。(*表示重復0或多次)

查找C風格的十六進制數﹤﹤0[xX][A-Fa-f0-9]+﹥﹥。(+表示重復一次或多次)

◆取反正則表達式字符集

在左方括號“[”后面緊跟一個尖括號“^”,將會對正則表達式字符集取反。結果是正則表達式字符集將匹配任何不在方括號中的字符。不像“.”,取反正則表達式字符集是可以匹配回車換行符的。

需要記住的很重要的一點是,取反正則表達式字符集必須要匹配一個字符。﹤﹤q[^u]﹥﹥并不意味著:匹配一個q,后面沒有u跟著。它意味著:匹配一個q,后面跟著一個不是u的字符。所以它不會匹配“Iraq”中的q,而會匹配“Iraq is a country”中的q和一個空格符。事實上,空格符是匹配中的一部分,因為它是一個“不是u的字符”。

如果你只想匹配一個q,條件是q后面有一個不是u的字符,我們可以用后面將講到的向前查看來解決。

◆正則表達式字符集中的元字符

需要注意的是,在正則表達式字符集中只有4個 字符具有特殊含義。它們是:“] \ ^ -”?!癩”代表正則表達式字符集定義的結束;“\”代表轉義;“^”代表取反;“-”代表范圍定義。其他常見的元字符在正則表達式字符集定義內部都是正常字符,不需要轉義。例如,要搜索星號*或加號+,你可以用﹤﹤[+*]﹥﹥。當然,如果你對那些通常的元字符進行轉義,你的正則表達式一樣會工作得很好,但是這會降低可讀性。

在正則表達式字符集定義中為了將反斜杠“\”作為一個文字字符而非特殊含義的字符,你需要用另一個反斜杠對它進行轉義。﹤﹤[\\x]﹥﹥將會匹配一個反斜杠和一個X?!癩^-”都可以用反斜杠進行轉義,或者將他們放在一個不可能使用到他們特殊含義的位置。我們推薦后者,因為這樣可以增加可讀性。比如對于字符“^”,將它放在除了左括號“[”后面的位置,使用的都是文字字符含義而非取反含義。如﹤﹤[x^]﹥﹥會匹配一個x或^。﹤﹤[]x]﹥﹥會匹配一個“]”或“x”。﹤﹤[-x]﹥﹥或﹤﹤[x-]﹥﹥都會匹配一個“-”或“x”。

◆正則表達式字符集的簡寫

因為一些正則表達式字符集非常常用,所以有一些簡寫方式。

﹤﹤\d﹥﹥代表﹤﹤[0-9]﹥﹥;

﹤﹤\w﹥﹥代表單詞字符。這個是隨正則表達式實現的不同而有些差異。絕大多數的正則表達式實現的單詞正則表達式字符集都包含了﹤﹤A-Za-z0-9_]﹥﹥。

﹤﹤\s﹥﹥代表“白字符”。這個也是和不同的實現有關的。在絕大多數的實現中,都包含了空格符和Tab符,以及回車換行符﹤﹤\r\n﹥﹥。

正則表達式字符集的縮寫形式可以用在方括號之內或之外。﹤﹤\s\d﹥﹥匹配一個白字符后面緊跟一個數字。﹤﹤[\s\d]﹥﹥匹配單個白字符或數字。﹤﹤[\da-fA-F]﹥﹥將匹配一個十六進制數字。

取反正則表達式字符集的簡寫

  1. ﹤﹤[\S]﹥﹥ = ﹤﹤[^\s]﹥﹥  
  2.  
  3. ﹤﹤[\W]﹥﹥ = ﹤﹤[^\w]﹥﹥  
  4.  
  5. ﹤﹤[\D]﹥﹥ = ﹤﹤[^\d]﹥﹥  

◆正則表達式字符集的重復

如果你用“?*+”操作符來重復一個正則表達式字符集,你將會重復整個正則表達式字符集。而不僅是它匹配的那個字符。正則表達式﹤﹤[0-9]+﹥﹥會匹配837以及222。

如果你僅僅想重復被匹配的那個字符,可以用向后引用達到目的。我們以后將講到向后引用。

正則表達式字符集相關的內容就向你介紹到這里,希望那個對你了解和掌握正則表達式字符集有所幫助。

【編輯推薦】

  1. 淺析PHP正則表達式的應用實例
  2. 正則表達式匹配實例詳解
  3. 正則表達式匹配數字實例解析
  4. 正則表達式匹配字符串實現詳解
  5. 正則表達式入門必學的星星點點
責任編輯:仲衡 來源: IT168
相關推薦

2009-09-16 13:44:03

PHP正則表達式字符集

2010-08-09 14:43:25

Flex正則表達式

2009-09-16 11:27:52

PHP正則表達式正則表達式實現

2018-09-27 15:25:08

正則表達式前端

2020-09-04 09:16:04

Python正則表達式虛擬機

2009-09-16 11:17:12

PHP正則表達式定位字

2009-09-16 10:59:24

PHP正則表達式元字符

2024-09-14 09:18:14

Python正則表達式

2016-11-10 16:21:22

Java 正則表達式

2009-09-16 17:15:57

正則表達式引擎

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2023-09-13 08:12:45

2010-03-25 18:25:36

Python正則表達式

2017-05-12 10:47:45

Linux正則表達式程序基礎

2022-03-28 06:19:14

正則表達式開發

2021-01-27 11:34:19

Python正則表達式字符串

2009-02-18 09:48:20

正則表達式Java教程

2019-07-17 15:45:47

正則表達式字符串前端

2009-09-16 18:19:34

正則表達式組

2011-06-02 12:34:16

正則表達式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠干天天干 | 久久国产精品一区二区三区 | 欧美日韩一区二区三区四区五区 | 亚洲一区视频在线 | 国产激情视频在线免费观看 | 超碰网址 | 日韩久久综合网 | 成人在线中文字幕 | 国产亚洲欧美另类一区二区三区 | 亚洲综合在线视频 | 久久九九色 | 欧美日韩精品 | 91传媒在线观看 | 第一区在线观看免费国语入口 | 免费亚洲网站 | 免费欧美视频 | 亚洲第一成人影院 | www.国产日本 | 日韩亚洲一区二区 | 国产精品国产a | 围产精品久久久久久久 | 国产精品久久久久久久久久免费看 | 成人午夜网站 | 久久草在线视频 | 亚洲精品乱码8久久久久久日本 | 一级做a | 91麻豆产精品久久久久久 | 操人网站 | 婷婷丁香激情 | 九一国产精品 | 欧美日本在线观看 | 黑人精品| 日韩视频在线免费观看 | 黄色在线观看网站 | 欧美高清视频 | 欧美日韩1区2区 | 国产精品高清在线 | 亚洲乱码国产乱码精品精98午夜 | 偷拍亚洲色图 | 国产欧美精品一区二区三区 | 亚洲国产免费 |