我有這樣的正則表達式用於獲取YouTube視頻ID:的preg_match()未知的修飾詞 '[' 幫助
(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+
我從那裏得到它:Regex to parse youtube yid
的問題是,我得到preg_match() Unknown modifier '['
警告。
我知道我必須附上正則表達式分隔符,但我不知道如何做到這一點。
任何幫助?
我有這樣的正則表達式用於獲取YouTube視頻ID:的preg_match()未知的修飾詞 '[' 幫助
(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+
我從那裏得到它:Regex to parse youtube yid
的問題是,我得到preg_match() Unknown modifier '['
警告。
我知道我必須附上正則表達式分隔符,但我不知道如何做到這一點。
任何幫助?
嘗試以下操作:
<?php
$str = "http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I";
$pattern = '#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+#';
preg_match($pattern, $str, $matches);
print_r($matches);
?>
注意,我使用#
作爲分隔符這裏只是因爲上述正則表達式中包含正斜槓和逃避他們,使表達更加難以閱讀。這清除了幾個像素。
我需要PREG_OFFSET_CAPTURE,3? – Jonathan 2010-06-10 03:21:48
不,你沒有,我修改了代碼以反映你正在尋找的東西。 – randombits 2010-06-10 03:26:31
我正則表達式是以下:
[A-ZA-Z] {3} \ d {4} [A-ZA-Z] {4}
我把它如下:
if (!preg_match("[A-Za-z]{3}\d{4}[A-Za-z]{4}", trim($search_query))) { return false; }
但它給我回了以下警告:
一個PHP錯誤遇到
嚴重性:警告消息:的preg_match():未知的修飾詞 '{' 文件名:型號/ room_reservation_model.php行號:61
後來我在一些該注意從以下link他們已經把正則表達式模式中的兩個「/」如下:
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
所以我也把「/」前的那兩個第二我RgeEx模式後如下,問題解決了:
if (!preg_match("/[A-Za-z]{3}\d{4}[A-Za-z]{4}/", trim($search_query))) { return false; }
添加您的正則表達式 – 2010-06-10 03:13:16
內斜槓分隔符你劃定的正則表達式在你的代碼?即'/ expression /' – Amber 2010-06-10 03:13:38