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

主頁 > 知識庫 > 正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)

正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)

熱門標簽:線上教育ai外呼系統 地圖標注商戶中心要收錢多少 地圖標注字母的軟件 鄂州人工智能電銷機器人軟件 css百度地圖標注位置顯示 菏澤智能ai電銷機器人銷售公司 400免費電話去哪申請 實用地圖標注app 宿遷智能外呼系統供應商

前面我們知道正則表達式有很多元字符表示匹配次數(量詞),都是可以重復匹配前面出現的單個字符次數。有時候,我們可能需要匹配一組多個字符一起出現的次數。這個時候,我們需要分組了。就是用小括號來括起這些字符,指定子表達式(也叫做分組)。然后你就可以指定這個子表達式的重復次數了,你也可以對子表達式進行其它一些操作。這個時候,可以把括號中一組字符,看作一個整體了。

分組模式舉例說明

如:查找字符串中,連續出現多個win字符串的字符。可以這樣完

?php 
$str = "this is win winwindows!";
preg_match_all("/(win)+/",$str,$marr);
var_dump($marr);

不用分組模式,同時匹配多個字符,可以嗎? 我們發現以前操作符號:[win]+,盡管可以匹配到winwin字符,因為它代表是有w,i,n組合的一個或者多個字符,不會限制順序。所見它會匹配到象:wwin,www,inw等等,只要是這3個字符組成的,多個字符都匹配成功了。

上面怎么匹配到,每一個有2個結果呢?這就是子模式(子匹配),默認除了可以將多個字符組合一個整體,另外還會把括號,括起來的這部分表達式存儲到一個臨時緩沖區中,以便后面正則表達式調用。上面這個例子里面,我們不需要,后期調用的。因此,怎么樣屏蔽掉這個子表達式捕獲內容呢? 只需要在:前加上”?:” 即可。我們看看下面例子正則表達式 分組非捕獲模式。

非捕獲模式優點有哪些呢? 從上面看,可以減少捕獲,也就會減少匹配次數。因此,在不必要分組表達式加入非捕獲前綴”?:”,可以節省內存開銷,并且可以提升匹配速度!

剛剛說到了正則表達式分組,默認情況會將子表達式捕獲內容,存儲到一個緩存區。以便后續調用。 那這個是什么樣情況呢?其實,這個是正則表達式的引用。所捕獲的每個子匹配都按照在正則表達式模式中從左至右所遇到的內容按順序存儲。存儲子匹配的緩沖區編號從1開始,最多可以一般存儲為9。以便后面表達式引用該值,又叫后向引用。

我們看下下面例子,查找一個字符串中,互不相鄰,出現多次系統單詞:add。

?php
$str = "add123456addasdf"; 
preg_match_all('/(add)\d+\1/',$str,$marr); 
var_dump($marr);

反向引用,常用來處理一些處理一些特殊匹配情況。如:查找字符串中,不相鄰重復字符串。查找html一對標簽中內容。特別分析html非常常見了(注意,如果使用了反向引用,前面不能屏蔽子匹配捕獲,也就是不能加”?:"前綴了)。經常會用:

?php
$str = file_get_contents('http://blog.chacuo.net/');
preg_match_all('/(\S+)[^>]*>[^]*\/\1>/',$str,$marr);
 
var_dump($marr);
 
// (\S+) 表示非顯示字符之外所有字符,一般作為html tag名稱
// tag格式一般為 tag  其它屬性> 后面[^>]* 匹配tag里面所有其它屬性
// 后面的[^]* 表示 tag...>中間內容/tag> 表示中間內容,到""結束,因此匹配所有[^]* 字符
// 最后的\/\1> "\/" 轉義"/"字符,后面的"\1" 表示反向應用前面的(\S+)

以上是正則表達式使用比較重要的,分組,反向匹配,以及非捕獲分組說明及實例。希望對要屬性改功能朋友有所幫助。同時歡迎朋友們交流!

您可能感興趣的文章:
  • 正則表達式學習教程之回溯引用backreference詳解
  • Python正則表達式分組概念與用法詳解
  • 正則表達式分組實例詳解
  • javascript正則表達式中分組詳解
  • 正則表達式之分組的回溯引用問題

標簽:六安 咸陽 鞍山 綿陽 恩施 池州 梅州 三亞

巨人網絡通訊聲明:本文標題《正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)》,本文關鍵詞  正則,表達式,分組,子,匹配,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)》相關的同類信息!
  • 本頁收集關于正則表達式、分組、子匹配(子模式)、非捕獲子匹配(子模式)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 溧阳市| 厦门市| 论坛| 黄山市| 铁岭市| 扬州市| 榆林市| 城步| 长治市| 宁波市| 班玛县| 姚安县| 隆化县| 凤翔县| 永新县| 涞水县| 临湘市| 梓潼县| 宁波市| 和龙市| 九龙县| 任丘市| 五峰| 绵竹市| 天柱县| 合江县| 茌平县| 巴彦淖尔市| 无极县| 惠州市| 黑龙江省| 巩留县| 双牌县| 库伦旗| 玉树县| 兴安盟| 肃宁县| 牟定县| 敦煌市| 新民市| 康平县|