日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

?:在正则表达式中什么意思

發布時間:2023/11/28 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ?:在正则表达式中什么意思 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

“?:”非獲取匹配,匹配冒號后的內容但不獲取匹配結果,不進行存儲供以后使用。

單獨的“?”:匹配前面的子表達式零次或一次。

當“?”緊跟在任何一個其他限制符(*,+,?,{n},{n,},{n,m})后面時,匹配模式是非貪婪的。非貪婪模式盡可能少地匹配所搜索的字符串,而默認的貪婪模式則盡可能多地匹配所搜索的字符串。

轉存失敗重新上傳取消

擴展資料

正則表達式是對字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”))操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。正則表達式是一種文本模式,模式描述在搜索文本時要匹配的一個或多個字符串。

參考資料來源:百度百科:正則表達式

19???22 ?評論? 分享 ?舉報

轉存失敗重新上傳取消

轉存失敗重新上傳取消yongirl320?
推薦于2017-10-09 展開全部 ?: 是 不想被捕獲的時候使用 可以提高程序執行速度

比如 ([a-z][0-9])+

這個正則表達式里 ( ) 里面的內容被捕獲了, 反向引用的時候可以用上 。
一般正則替換的時候用的多 像UBB代碼

但是 如果寫成 (?:[a-z][0-9])+
跟上面 正則表達式 整體匹配是一樣的 就是 不會捕獲 ( )里內容了。
也就是不能使用 反向引用

如果還是不太理解, 那就先了解一下 反向引用吧。 追問
不理解。能不能詳細點。
追答
比如 PHP 手冊里 有個 正則替換的函數 preg_replace 有的列子$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string); 
// 結果顯示  April1,2003這里就用上了 反響引用   
$replacement  里的 ${1} 代表  (\w+)  ,    $3代表 第2個 (\d+)
這個正則表達式 里 一共有 3個 ()  也就是  可以  用 $1  $2  $3  調用 3個()里的 內容。也可以使用 \1    \2    \3 來 代替  $1  $2  $3  都是一樣的那接下來 如果把 代碼里的 正則表達式 改成下面的$pattern = '/(?:\w+) (?:\d+), (\d+)/i'; 
那 這里  只有 一個 () 里的 內容 能使用 
帶 ?:的 ()里面內容是不會被 捕獲的  ,所以 只能使用 $1 代表最后的 (\d+)

總結

以上是生活随笔為你收集整理的?:在正则表达式中什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。