正则表达式:所有ASCII字符,但某个字符(PHP,FILTER_VALIDATE_REGEXP)

时间:2015-12-22 16:16:03

标签: php regex filter

找到以下漂亮的正则表达式以匹配所有可打印的ASCII字符:

[ -~]

我的代码如下所示:

    $string = "My ASCII string is (not) very funny.";

    filter_var($string, FILTER_VALIDATE_REGEXP,
    array("options"=>array("regexp"=>"/^[ -~]*$/")));

这几乎是我需要的但是我想排除结肠。我尝试了[ -~\:][ -~^:],但无效。什么是正确的正则表达式以及如何正确排除单个字符?

1 个答案:

答案 0 :(得分:4)

看起来你正在寻找像这样的正则表达式:

(?=[ -~])[^:]

您也可以通过将分号添加到"排除列表"来排除分号。 :

(?=[ -~])[^:;]