java - 正则表达式匹配单词字符,任何单词之间只有 1 个空格

标签 java regex string

我有一个非常具体的用户名格式,我似乎无法通过正则表达式来完成它

这是我的模式:

"\w([ ]{4,12})\w"

具体格式如下:

  • 用户名必须大于或等于 4 个字符但小于 13 个字符
  • 用户名的第一个或最后一个字符不得包含空格
  • 用户名不得包含连续空格(或任何类型的非字符空格),例如:用户名
  • 用户名不得包含任何特殊字符,只能包含文字字符、数字和空格
  • 空格前后必须有单词字符

我以前的模式无法正常工作,任何正确方向的指导都会很棒

最佳答案

这个怎么办?它使用负向先行来确保任何时候它匹配空格时,后面都不会跟有空格。

\w(\w| (?! )){2,10}\w

关于java - 正则表达式匹配单词字符,任何单词之间只有 1 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23879154/

相关文章:

java - 当集合大小超过 500.000 时,处理速度明显变慢

regex - Powershell 正则表达式检查括号之间的字符串

c# - 你能通过内存位置而不是内容来比较字符串吗?

java - 如何使用 Graphics 将 Java 数组打印成整齐的列?

Java 不接受 Unicode 字符作为用户输入

java - Hibernate的原生查询和缓存机制

python - Pandas 从列表中查找确切的单词,并在找到时分配 bool 值

javascript - 如何从 Javascript 中的较大字符串中获取字符串?

javascript - Node : convert string to buffer

java - 帮助反射+构造函数