Regex 正则表达式来匹配任何不包含特殊字符或空格但可以包含其中一个字符或空格的字符串。或者,但不是在开始或最后

Regex 正则表达式来匹配任何不包含特殊字符或空格但可以包含其中一个字符或空格的字符串。或者,但不是在开始或最后,regex,Regex,我正在尝试创建一个正则表达式来匹配任何不包含特殊字符但可以包含一个或的字符串,并且不应在字符串的开头或结尾。我还希望字符串的长度保持在8到20个字符之间。我现在使用的正则表达式如下所示: "^[a-zA-Z][a-zA-Z._]*[a-zA-Z0-9]+$" 我对正则表达式没有太多的专业知识。那么,有什么办法可以解决我的问题。您可以使用以下正则表达式: ^[0-9a-zA-Z](?!(?:.*?[._]){2})[._a-zA-Z0-9]{6,18}[0-9a-zA-Z]$ 正则表达式分

我正在尝试创建一个正则表达式来匹配任何不包含特殊字符但可以包含一个
的字符串,并且不应在字符串的开头或结尾。我还希望字符串的长度保持在8到20个字符之间。我现在使用的正则表达式如下所示:

"^[a-zA-Z][a-zA-Z._]*[a-zA-Z0-9]+$" 

我对正则表达式没有太多的专业知识。那么,有什么办法可以解决我的问题。

您可以使用以下正则表达式:

^[0-9a-zA-Z](?!(?:.*?[._]){2})[._a-zA-Z0-9]{6,18}[0-9a-zA-Z]$

正则表达式分解:

^                   # match start of input
[0-9a-zA-Z]         # match a digit or letter
(?!(?:.*?[._]){2})  # negative lookahead to disallow use of _ or . more than once
[._a-zA-Z0-9]{6,18} # match a digit or letter or dot or _ 6 to 18 times
[0-9a-zA-Z]         # match a digit or letter
$                   # match end of input

<强> ps:在中间部分使用<代码> {6,18} /COD>使字符串的总长度在8和20之间。

< P>可以使用这个正则表达式:

^[0-9a-zA-Z](?!(?:.*?[._]){2})[._a-zA-Z0-9]{6,18}[0-9a-zA-Z]$

正则表达式分解:

^                   # match start of input
[0-9a-zA-Z]         # match a digit or letter
(?!(?:.*?[._]){2})  # negative lookahead to disallow use of _ or . more than once
[._a-zA-Z0-9]{6,18} # match a digit or letter or dot or _ 6 to 18 times
[0-9a-zA-Z]         # match a digit or letter
$                   # match end of input

<强> ps:在中间部分使用<代码> {6},18}使字符串的总长度在8和20之间。

谢谢,但是这里的问题是允许两者兼而有之。或者一次一个。我正在尝试匹配一个字符串,其中可以不包含任何特殊字符,也可以只包含一个。或者一个uu,但不是两个一起,也不是不止一次我在尝试验证一个表单,在ftlthanks中,但这里的问题是它允许两者。或者一次一个。我正在尝试匹配一个字符串,其中可以不包含任何特殊字符,也可以只包含一个。或者一个uu,但不能同时在一起,也不能超过一次我正在尝试验证一个表单,在ftl中