正则表达式的含义php,求正则表达式含义
preg_match('~^(ftp|news|http|https)?://(.*)$~D', $url, $matches)
疑問
1.正則表達式一般寫法 '/正則/'
這個為什么這樣寫?
2.此正則啥意思?
回復(fù)討論(解決方案)
~沒有遇到過,應(yīng)該和/差不多吧,就是定界符的意思。
^(ftp|news|http|https)?://(.*)$
^字符串開始處開始匹配
(ftp|news|http|https)? 匹配ftp或者news或者http或者https,含有零次或者1次
:// 匹配://
(.*) 匹配任意字符任意次數(shù)
$字符串結(jié)束
最后的大寫字母D:
D (PCRE_DOLLAR_ENDONLY) 如果設(shè)定了此修正符,模式中的美元元字符僅匹配目標字符串的結(jié)尾。
默認的規(guī)則串定界符是 /
但你也可以指定其他字符為定界符,以減少特使字符的轉(zhuǎn)義
D 模式用的極少,自己理解吧
D(PCRE_DOLLAR_ENDONLY)
如果設(shè)定了此修正符,模式中的美元元字符僅匹配目標字符串的結(jié)尾。沒有此選項時,如果最后一個字符是換行符的話,美元符號也會匹配此字符之前(但不會匹配任何其它換行符之前)。如果設(shè)定了 m 修正符則忽略此選項。Perl 中沒有與其等價的修正符。
這個正則應(yīng)該是分析一個url列表用到的
列表格式大概是每行一個url并且以換行結(jié)尾
如果不使用D只能找到到第一個匹配那行
默認的規(guī)則串定界符是 /
但你也可以指定其他字符為定界符,以減少特使字符的轉(zhuǎn)義
D 模式用的極少,自己理解吧
D(PCRE_DOLLAR_ENDONLY)
如果設(shè)定了此修正符,模式中的美元元字符僅匹配目標字符串的結(jié)尾。沒有此選項時,如果最后一個字符是換行符的話,美元符號也會匹配此字符之前(但不會匹配任何其它換行符之前)。如果設(shè)定了 m 修正符則忽略此選項。Perl 中沒有與其等價的修正符。
默認的規(guī)則串定界符是 /
但你也可以指定其他字符為定界符,以減少特使字符的轉(zhuǎn)義
受教~
http://blog.csdn.net/tigerdsh/article/details/8866456 看了這個你就明白了,詳細的解釋
首先樓主應(yīng)該理解preg_match(),它是一種是基于perl語言,使用“preg_”為前綴命名的函數(shù)。在這里,其實就是用$url替換$matches里符合~^(ftp|news|http|https)?://(.*)$~D這一個正則的字符串。
~是一個定界符,默認的是/,當(dāng)然也可以自己定義,前后對應(yīng)就可以了。
^是開頭,$是結(jié)尾,|是或,?是出現(xiàn)0次到1次,*是出現(xiàn)1次到多次,.是匹配除 \n 以外的任何字符。D是不匹配任何 0 到 9 之間的單個數(shù)字,相當(dāng)于 [^0-9]。
可以看我的博客:http://blog.csdn.net/wf120355/article/details/8753593
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的正则表达式的含义php,求正则表达式含义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java jxl map,jxl操作Ex
- 下一篇: PHP制作回合制游戏,回合制游戏脚本制作