php - 正则表达式删除开头的空格

标签 php regex

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

[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/

相关文章:

php - 多列整数排序

javascript - 字符串化正则表达式?

在 vim 中替换时出现正则表达式嵌套引号问题

regex - 进行各种替换,但只能在字符之前

php - 在php中按id对显示的结果进行排序

php - 正则表达式用逗号和空格分割字符串,但忽略内部引号和括号

php - 如何使用 AJAX 调用 PHP 脚本来执行 jQuery 自动完成?

javascript - 解析字符串中的主题标签( anchor 标记除外)

regex - 测量单位正则表达式操作

php - 如果不存在则插入并创建表...在重复键更新时