2012-03-07 5 views
3

誰かがこの正規表現に間違いを知っていますか?それはRegexPalとRegExrのようなサイトで正常に動作しますが、PHPで、それは私にこの警告なしの結果を与える:PHP:preg_match - "デリミタは英数字またはバックスラッシュであってはいけません"

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash 

ここに私のコードです:

preg_match('name="dsh" id="dsh" value="(.*?)"', 'name="dsh" id="dsh" value="123"', $matches); 
+1

HTML +正規表現=/を含んパターンについて/

preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches); 

にパターンを囲み、エスケープを避けるために~または#のような別の区切り文字を使用することをお勧めします – hsz

答えて

9

デリミタはありません。

// Delimited with # instead of/
preg_match('#name="dsh" id="dsh" value="(.*?)"#', 'name="dsh" id="dsh" value="123"', $matches); 
1

あなたはdelimitersが必要になります。

preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches); 
関連する問題