[英]PHP preg_match not matching
請有人向我解釋為什么這個正則表達式與任何東西都不匹配,它應該:
preg_match('@<title>([^<].)</title>@',$meta,$match);
我正在嘗試匹配<title>
和</title>
標記之間的所有內容,請記住可能有多個標記,因此正則表達式必須是不合適的。
你必須指([^<]+)
或([^<]*)
而不是([^<].)
因為后者意味着匹配不是<
和后跟任何字符的東西
那個.
將只匹配一個字符(任何字符)。 您需要稍微修改前面的表達式( [^<]
- “與打開的插入符不匹配”)。 要使其匹配多個,請添加*
。 為了做到這一點,添加一個?
:
preg_match('@<title>([^<]*?)</title>@',$meta,$match);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.