[問題] preg_match_all中的! !is是什麼?

看板RegExp (正規表示式 Regular Expression)作者 (真理斯金)時間15年前 (2009/08/04 10:13), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/2 (看更多)
我寫了一個要抓option value中的字串的regexp 是用要php的preg_match_all抓 <option value="IamTarget">IamTarget(目標)</option> <option value="IamTarget2">IamTarget2(目標2)</option> 我用的RegExp是(忘了是參考到版上那一篇的) "!&lt;option value=.*?&gt;(.*?)(\(.*?\))?&lt;/option&gt;!is"; 問1:那個!與!is是什麼意思啊? 出來的結果是可以成功抓到我要的字串如下: 問2:有沒有其他建議的php Regexp寫法? Array ( [0] => Array ( [0] => <option value='IamTarget'>IamTarget(目標)</option> [1] => <option value='IamTarget2'>IamTarget2(目標2)</option> ) [1] => Array ( [0] => IamTarget [1] => IamTarget2 ) [2] => Array ( [0] => (目標) [1] => (目標2) ) ) 感謝各位大大! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.83.216.112

08/04 10:14, , 1F
補充:我的html有先htmlspecialchars過
08/04 10:14, 1F

08/06 00:15, , 2F
PHP沒有規定RegExp要用 /.../ 包起來,只要用兩個一樣的東西包
08/06 00:15, 2F

08/06 00:16, , 3F
就可以了,所以你把 ! 換成 /,應該就看的懂了
08/06 00:16, 3F

08/06 00:29, , 4F
記得原先的 / 就要改成 \/
08/06 00:29, 4F
文章代碼(AID): #1ATvbPJ8 (RegExp)
文章代碼(AID): #1ATvbPJ8 (RegExp)