2009-09-29 125 views
0

仍有RegEx問題..需要匹配以下字符php preg_match正則表達式

a-zA-z9-0,。 '「()_ - :(SPACE)

並不是所有的值將擁有所有這些,但可以有他們,我所擁有的一切withing但括號,單雙Quoytes

/^[\w. ,\/:_-]+$/ 

UPDATE:

我得到了它這方面的工作:"/^[\w. ,:()'\"-]+$/"

$val_1 = "Abh acb 123 . - _ 's "; 
$val_2 = "Asc"; 
$val_3 = "234"; 
$val_4 = "nj%"; // Fail 
$val_5 = "Help (me)"; 
$val_6 = "What's wrong?"; // Fail 
$val_7 = "She's here"; 
$val_8 = "No: 123.00, 432.00"; 
$val_9 = 'Need to " Double" '; 

$var_array = array($val_1, $val_2, $val_3, $val_4, $val_5, $val_6, $val_7, $val_8, $val_9); 

foreach ($var_array as $k=>$d) { 
    if ((preg_match("/^[\w. ,:()'\"-]+$/", $d))) { 
     echo "Yeah it matches!!!<span style='color:green'>".$d."</span><br />"; 
    } else { 
     echo "Try again, thie FAILED<span style='color:red'>".$d."</span><br />"; 
    } 
} 

感謝所有幫助了

回答

0

隨着其他提交的幫助下,我發現,工作的解決方案:

"/^[\w. ,:()'\"-]+$/" 

感謝所有的幫助

0
$pat = "/^[\w. ,\\/:_()'\"-]/"; 
+0

不工作,通過從我的更新,例如 – 2009-09-30 12:53:26

0

匹配所有這些,你只需要:

preg_match("/[a-zA-Z0-9,.'\"()_- :]/", $string); 
+0

所有值應該逃脫 - :)它會給出錯誤這種方式,或不正常工作(可能是這一個) – bisko 2009-09-29 21:02:48

+0

我有一場比賽幾乎完全是這樣的,我不逃脫連字符,工作正常:) – user97410 2009-09-29 21:33:39

+0

不起作用,失敗的所有值在我的更新示例 – 2009-09-30 12:54:34

0
/^[-a-zA-Z0-9,.'"()_: ]+$/ 

這應該工作。但是,如果你把它放入一個字符串中,一定要避開所需的引號。

+0

不起作用,在我更新的示例中失敗了所有值 – 2009-09-30 12:55:43

+0

是的,我也做了逃生:「/^[-a-zA-Z0-9,.'\"()_:] + $ /」 – 2009-09-30 12:57:04