正则表达式在开始时删除空格

wow*_*wow 2 php regex

简单的问题,但我解决这个游戏很头疼.示例正则表达式.

[a-zA-Z0-9\s]

[whitespace]Stack[whitespace]Overflow - not allow
Stack[whitespace]Overflow - allow
Stack[whitespace]Overflow[whitespace] - not allow
Run Code Online (Sandbox Code Playgroud)

让我知道

从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;
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*ral 5

尝试:

/^\S.*\S$|^\S$/
Run Code Online (Sandbox Code Playgroud)

如果你只想要字母,数字和下划线,还有两个字,不能少,不再:

/^\w+\s+\w+$/
Run Code Online (Sandbox Code Playgroud)

没有下划线,

/^\p{Alnum}+\s+\p{Alnum}+$/
Run Code Online (Sandbox Code Playgroud)

虽然,在一些正则表达式样式(特别是PHP,我现在看到的是目标),你使用这个:

/^[[:alnum:]]+\s+[[:alnum:]]+$/
Run Code Online (Sandbox Code Playgroud)

如果可以接受任何数量的此类单词和数字:

/^\w[\w\s]*\w$|^\w$/
Run Code Online (Sandbox Code Playgroud)