简单的问题,但我很头疼地解决这个游戏。正则表达式示例。
[a-zA-Z0-9\s]
[whitespace]Stack[whitespace]Overflow - not allow
Stack[whitespace]Overflow - allow
Stack[whitespace]Overflow[whitespace] - not allow
告诉我
更新 regex from JG它正在工作。
function regex($str)
{
$check = preg_replace('/^[a-zA-Z0-9][a-zA-Z0-9\s]+[a-zA-Z0-9]$|^[a-zA-Z0-9]*$/', "", $str);
if (empty($check)) {
return true;
} else {
return false;
}
}
$str = 'Stack Overflow ';
$validator = regex($str);
if ($validator) {
echo "OK » " .$str;
} else {
echo "ERROR » " . $str;
}
最佳答案
尝试:
/^\S.*\S$|^\S$/
如果您只需要字母、数字和下划线,以及两个单词,不多不少:
/^\w+\s+\w+$/
对于没有下划线,
/^\p{Alnum}+\s+\p{Alnum}+$/
虽然,在某些 Regex 样式中(特别是 PHP,我现在看到的是目标),您可以使用:
/^[[:alnum:]]+\s+[[:alnum:]]+$/
如果可以接受任意数量的这样的单词和数字:
/^\w[\w\s]*\w$|^\w$/
关于php - 正则表达式删除开头的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1309375/