PHP正则表达式只匹配某些字符

时间:2015-01-10 00:58:02

标签: php regex

我会检查用户是否提交了有效的标题。标题必须包含:

  1. 字母字符(小写或大写)
  2. 空间
  3. 括号
  4. 单引号和双引号
  5. 检查标题是否仅用单引号或双引号填充 绕过上面的正则表达式。
  6. 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

以下是一个可行的示例:

/^(?!['"]+$)[a-z\d \(\)'"]+$/i

Regex Demo

要在PHP代码中使用它,请执行以下操作:

$str = 'foo234234bar()"""';
$regex = '/^(?![\'"]+$)[a-z\d \(\)\'"]+$/i';

if (preg_match($regex, $str)) {
    echo "match found!";
} else {
    echo "no match";
}

PHP Demo

答案 1 :(得分:0)

这应该有效

if(
    preg_match('/^[a-z0-9] ](])\'\"]+$/i',$string) && 
    strlen(preg_replace('/[\'\"]+/','',$string)))){
//passed
}
else{
//failed
}