我正在尝试验证字符串中两个字符(或名称中间)之间的 NO 空格。
我想要一个接受"的正则表达式ab"拒绝" a b"
我尝试使用"\\s*((_[a-zA-z]+)|([a-zA-Z]+[a-zA-Z0-9]*))\\s*"
和"(\\s*\\S\\s*)"
。
p.s我不在乎字符\ word之前和之后的空格。
提前致谢!
答案 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*$
,然后再查找零个或多个空格
答案 2 :(得分:0)
您可以使用{N}
所以,你可以使用:
\\S{2}
匹配任何两个非空白字符;或
\\w{2}
匹配两个单词字符。
[a-zA-Z]{2}
两个字母等。