Re: [請益] 正規表示式的意思
※ 引述《rainyuhtree (ianyu)》之銘言:
: 這邊有一行正規表示式
: "/<object(.*?)i\=+([^\&]+)(.*?)<\/object>/ms"
: 我知道他的意思就是在
: <object></object>當中找出i=開始到&結尾中間的字串
: 我把它拆解成
: "/<object 表示從<object開頭
: (.*?) ()表示一個sub pattern,裡頭*表示前一個的.可以0-無限個,而.表示
: 任意字元。但是?表示前一個字元可以出現0-1次。.*,這個寫法有了
: 解,但是加上?的用意是??,有看推文說這樣才可以解決換行的問題
有加問號的話,(.*?)會抓取符合的字串中,字元數最少的
例如 <object 123456789xxx i=a i=b i=c></object>
^^^^^^^^^^^^^^(.*?)會抓到的
^^^^^^^^^^^^^^^^^^^^^^(.*)會抓到的
: i\=+ 表示i後頭接=,而+是用來表示前面的=可以有1-無限個
: ([^\&]+) []包含裡頭的的任一字元的內容,疑問是^,如果放在最前當開頭,或
: 是否定,但應該是當開頭吧???然後再補上+表示至少要有一個&
^加在[]裡是用來表示"不可以"是哪些字元
[^\&]+ 代表一個以上"不是&"的字元
: (.*?) 隨後又可以用任一個字元
: <\/object>/ms" 然後結尾的字元
: 雖然自己解釋了一遍,但還是沒很瞭解,一個是?一個是^
: 那抓出i=到&這一段,i\=+([^\&]+),是這一段嘛??
: 希望大家幫忙補充說明一下囉,謝謝啦
總之大概就是像這樣:
<object a="1" b="2" i="xxx" rel="nofollow">http://xxx.yy/zzz.htm?c=3&d=ooxx&j=xx">xxx</object>
^^^^^^^^^^^^^^^^^^^^^^^^^^
想要抓這一段文字
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.0.19
※ 編輯: knuckles 來自: 111.248.0.19 (06/04 16:51)
推
06/06 00:05, , 1F
06/06 00:05, 1F
推
01/31 11:39, , 2F
01/31 11:39, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
0
4
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
154
159