0

仍然有 RegEx 问题.. 需要匹配以下字符

a-zA-z9-0 , . ' “ ( ) _ - : (空间)

并非所有的价值观都会拥有所有这些,但可以拥有它们。除了括号,Single 和 Double Quoytes,我什么都有

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

更新:

我得到了它的工作:"/^[\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 />";
    }
}

谢谢大家帮忙

4

4 回答 4

0
$pat = "/^[\w. ,\\/:_()'\"-]/";
于 2009-09-29T21:00:24.827 回答
0

要匹配所有这些,您只需要:

preg_match("/[a-zA-Z0-9,.'\"()_- :]/", $string);
于 2009-09-29T21:00:49.127 回答
0
/^[-a-zA-Z0-9,.'"()_: ]+$/ 

这应该有效。但是如果你把它放到一个字符串中,一定要转义所需的引号。

于 2009-09-29T21:01:59.357 回答
0

在其他提交的帮助下,我找到了可行的解决方案:

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

感谢大家的帮助

于 2009-09-30T13:10:23.387 回答