亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想請教一下,關于正則表達式里面 .* 和 .*? 有什么區別?

想請教一下,關于正則表達式里面 .* 和 .*? 有什么區別?

躍然一笑 2019-11-20 19:15:08
正則表達式里面 .* 和 .*? 有什么區別?
查看完整描述

3 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

\s匹配任意的空白符(包括空格,制表符(Tab),換行符,中文全角空格
\S則是任意不是空白符的字符

?涉及到貪婪模式
當正則表達式中包含能接受重復的限定符時,通常的行為是(在使整個表達式能得到匹配的前提下)匹配盡可能多的字符。以這個表達式為例:a.*b,它將會匹配最長的以a開始,以b結束的字符串。如果用它來搜索aabab的話,它會匹配整個字符串aabab。這被稱為貪婪匹配。

有時,我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的限定符都可以被轉化為懶惰匹配模式,只要在它后面加上一個問號?。這樣.*?就意味著匹配任意數量的重復,但是在能使整個匹配成功的前提下使用最少的重復?,F在看看懶惰版的例子吧:

a.*?b匹配最短的,以a開始,以b結束的字符串。如果把它應用于aabab的話,它會匹配aab(第一到第三個字符)和ab(第四到第五個字符)



查看完整回答
反對 回復 2019-11-29
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

\w 等價于 [a-zA-Z0-9_]
\W 等價于 [^a-zA-Z0-9_],就是排除了\w的情況,也就是說它們表示的意思相反

查看完整回答
反對 回復 2019-11-29
  • 3 回答
  • 0 關注
  • 909 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號