正則表達(dá)式

1、什么是貪婪模式和非貪婪模式?

先看一個(gè)例子:```

var str = 'my "name" is "chen" nice to meet you';

str.match(/".*"/g);

str.match(/".*?"/g)

```

貪婪模式:在進(jìn)行正則匹配時(shí),在滿足匹配條件的前提下盡可能多的去匹配元素,這種匹配模式叫貪婪模式,默認(rèn)情況下匹配模式為貪婪模式;如上述str.match(/.*/g)即貪婪模式去匹配,匹配結(jié)果為"name" is "chen"";

非貪婪模式:在滿足匹配條件的前提下,盡可能少的去匹配元素,即非貪婪模式,可以通過(guò)在表示匹配次數(shù)的表達(dá)式后面加上?來(lái)將正則匹配類型設(shè)置成非貪婪模式,如上述str.match(/".*?"/g)即為非貪婪模式,匹配的結(jié)果為["name","chen"]。

2、\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?

\d 表示數(shù)字字符,即0~9中間的任意一個(gè)字符;

\w 表示單詞字符,包括大小寫(xiě)字母,數(shù)字和下劃線;

\s 表示空格;

[a-zA-Z0-9] 表示a-zA-Z0-9之間的任意一個(gè)字符;

\b 單詞邊界,即空格、換行、回車、制表符、-等,

.? 除回車和換行之外任意字符,

* 元素出現(xiàn)任意次,+ 元素出現(xiàn)一次或多次,? 元素出現(xiàn)0次或1次,x{3} x元素出現(xiàn)3次,

^ 在中括號(hào)中表示取反,如[^abcd123]表示不為abcd123中的任意一個(gè)字符,^在其他地方表示以什么開(kāi)頭,如:/^(hello)/g 表示匹配以hello開(kāi)頭的元素;

$? 表示以什么為結(jié)尾。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Python中的正則表達(dá)式(re) import rere.match #從開(kāi)始位置開(kāi)始匹配,如果開(kāi)頭沒(méi)有則無(wú)re...
    BigJeffWang閱讀 7,595評(píng)論 0 99
  • python的re模塊--細(xì)說(shuō)正則表達(dá)式 可能是東半球最詳細(xì)最全面的re教程,翻譯自官方文檔,因?yàn)楣俜轿臋n寫(xiě)的是真...
    立而人閱讀 23,448評(píng)論 4 46
  • 正則表達(dá)式、re模塊、匹配單個(gè)字符、匹配多個(gè)字符、匹配開(kāi)頭結(jié)尾、匹配分組、re模塊的高級(jí)用法、python貪婪和非...
    Cestine閱讀 1,773評(píng)論 0 1
  • 9.19--9.23 第7章 正則表達(dá)式 正則表達(dá)式是一個(gè)拆分字符串并查詢相關(guān)信息的過(guò)程。 推薦練習(xí)網(wǎng)站: js ...
    如201608閱讀 1,133評(píng)論 0 4
  • 這周西安出行,恰逢冬天,從機(jī)場(chǎng)出來(lái),一路上看到樹(shù)木的葉子已經(jīng)掉光,只剩光禿禿的樹(shù)干。偶爾會(huì)有幾棵蒼翠的松柏,為這蒼...
    Hello_beauty閱讀 496評(píng)論 3 5

友情鏈接更多精彩內(nèi)容