【发布时间】:2021-07-09 21:18:43
【问题描述】:
我的RegExp 是
/^[A-Za-z ]*$/
那我应该写什么在开始或结束时不允许空格,但在中间允许空格
【问题讨论】:
标签: javascript php
我的RegExp 是
/^[A-Za-z ]*$/
那我应该写什么在开始或结束时不允许空格,但在中间允许空格
【问题讨论】:
标签: javascript php
此正则表达式将匹配任何符合原始表达式且开头或结尾没有空格的字符串
^(?! )[A-Za-z ]*(?<! )$
【讨论】:
;
^(?! )[A-Za-z ]*(?<! )$@Tom,您编辑答案并回答我的评论是相当不公平的说明它没有意义。现在它没有,但是在您编写的原始正则表达式中,开始和结束时确实接受了数字。 (是^[^\s][A-Za-z ]*[^\s]$)
使用此模式匹配正则表达式
(?=(?:^\w))([A-Za-z ]+)(?<=[^ ])$
演示
我建议你在php中使用trim()去除字符串开头和结尾的空格。
$hello = " Hello World ";
trim($hello);
来自 PHP 文档
trim — 从字符串的开头和结尾去除空格(或其他字符)
【讨论】:
我可能会拆分问题:或者它根本不包含空格,或者它只包含在中间。
^[A-Za-z]*$|^[A-Za-z][A-Za-z ]*[A-Za-z]$
它将接受“aa”、“a”、“a ab c”,但不接受“”或“a”...
【讨论】:
我认为你需要这个:
<?php
echo trim(" spaces and spaces "); // outputs: "spaces and spaces"
?>
【讨论】:
trim() 没有回答问题?
$noLeadingTrailingSpace = trim ($string) === $string;)。
trim 完全可以完成这项工作。老实说,在这种情况下根本不需要正则表达式。
我想它会适合你,
\b^([^\s]|[a-zA-Z])\s+[a-zA-Z]\b
这里,
感谢分享。
【讨论】: