Regex 以指定方式包含字母和空格的正则表达式
我正在用java开发一个文本处理Api。我需要匹配以下字符串:Regex 以指定方式包含字母和空格的正则表达式,regex,Regex,我正在用java开发一个文本处理Api。我需要匹配以下字符串: 长度至少为8个字符。 应仅包含大写字母、小写字母或空格。 字母之间不应出现空格。但是,它们可以是前导的,也可以是尾随的。字符串也只能包含至少为8的空格。 我尝试过但失败的正则表达式: ^\s*[a-zA-Z]{8,}\s*$ 演示我的尝试 欢迎任何帮助。您可以使用下面的正则表达式来实现您的结果: ^(?=.{8,})*[a-zA-Z]**$ 对上述正则表达式的解释: ^-表示测试字符串的开始 (?=)-正向前瞻 {8,}-长度至少为
^\s*[a-zA-Z]{8,}\s*$
欢迎任何帮助。您可以使用下面的正则表达式来实现您的结果:
^(?=.{8,})*[a-zA-Z]**$
对上述正则表达式的解释:
^
-表示测试字符串的开始(?=)
-正向前瞻{8,}
-长度至少为8的换行符以外的任何字符*
-0或更多空格以匹配前导空格。(\s
被避免)[a-zA-Z]*
-0个或更多字母(大写或小写)。(您可以将[a-z]*
与i
(不区分大小写)标志一起使用。不过,对性能没有影响。)*
-0或更多空格以匹配尾随空格。(\s
被避免)$
-表示测试字符串的结尾李>
上面的正则表达式。用Java代码检查(1)要容易得多。你考虑过吗?是的!你说得对,清洁工。但是我想要一个符合所有三个要求的正则表达式。这符合我的目的。谢谢。为什么你在解释正则表达式时提到4和6点?