如何使用正则表达式验证字符串中两个字符之间是否没有空格

时间:2017-06-15 14:38:20

标签: java regex string

我正在尝试验证字符串中两个字符(或名称中间)之间的 NO 空格。

我想要一个接受"的正则表达式ab"拒绝" a b"

我尝试使用"\\s*((_[a-zA-z]+)|([a-zA-Z]+[a-zA-Z0-9]*))\\s*""(\\s*\\S\\s*)"

p.s我不在乎字符\ word之前和之后的空格。

提前致谢!

3 个答案:

答案 0 :(得分:2)

你可以使用\\s*\\S+\\s*`

  • \\s*匹配零个或多个空格
  • \\S+匹配一个或多个非空格字符
  • \\s*匹配零个或多个空格

    System.out.println(" aa ".matches("\\s*\\S+\\s*")); // true
    System.out.println(" a bc ".matches("\\s*\\S+\\s*")); // false 
    

注意:matches隐含地包括匹配^的开始和匹配$锚点的结束,除非您尝试获取组(),否则无需捕获组\\s*[a-zA-Z]+\\s*指定的匹配数据。

仅匹配字母使用db.getCollection('package').find({'Items': {$elemMatch: {'Coupons': {$elemMatch:{_id : 33944115}}}}})

答案 1 :(得分:1)

尝试git branch | grep 1.2 | while read branch; do new_branch=$( echo $branch | sed 's/1.2/1.3/' ) echo moving $branch to $new_branch # enable next line when we are sure the name of the branches is correct # git branch -m $branch $new_branch done

这会在字符串结尾之前再查找零个或多个空格,然后再查找任何单词字符^\s*\w+\s*$,然后再查找零个或多个空格

See demo

答案 2 :(得分:0)

您可以使用{N}

准确匹配N个字符

所以,你可以使用:

\\S{2}

匹配任何两个非空白字符;或

\\w{2}

匹配两个单词字符。

 [a-zA-Z]{2}

两个字母等。