Java 如何正则化不包含空格的单词?
我想正则表达式一个值没有空格(Java 如何正则化不包含空格的单词?,java,regex,Java,Regex,我想正则表达式一个值没有空格(^[\S]*$),只包含字母(\w+)。但是我如何将这两个正则表达式组合成一个正则表达式呢 预期结果应为: oneword: true one word: false 1word: false 对于匹配的字母,仅此正则表达式就足够了: ^[a-zA-Z]+$ \w表示字母、数字和下划线 对于匹配的字母,仅此正则表达式就足够了: ^[a-zA-Z]+$ \w表示字母、数字和下划线 \w不仅匹配字母表,还匹配数字、下划线()。要仅匹配字母,请使用: ^[A-Z
^[\S]*$
),只包含字母(\w+
)。但是我如何将这两个正则表达式组合成一个正则表达式呢
预期结果应为:
oneword: true
one word: false
1word: false
对于匹配的字母,仅此正则表达式就足够了:
^[a-zA-Z]+$
表示字母、数字和下划线\w
^[a-zA-Z]+$
表示字母、数字和下划线\w
\w
不仅匹配字母表,还匹配数字、下划线(
)。要仅匹配字母,请使用:
^[A-Za-z]+$
\w
不仅匹配字母表,还匹配数字、下划线(
)。要仅匹配字母,请使用:
^[A-Za-z]+$
我想您可能需要这样的内容(如果空字符串有效):
\w
包含数字和\u
,因此与1word
匹配。我想您可能需要类似的内容(如果空字符串有效):
\w
包含数字和\uu
,因此这将与1word
匹配如果您想要非正则表达式解决方案,也许您可以尝试以下方法:
public boolean valid(final String string){
for(final char c : string.toCharArray())
if(!Character.isLetterOrDigit(c))
return false;
return true;
}
如果您想要一个非正则表达式的解决方案,或许可以尝试以下方法:
public boolean valid(final String string){
for(final char c : string.toCharArray())
if(!Character.isLetterOrDigit(c))
return false;
return true;
}
使用字母字符
\p{Alpha}
:[\p{Lower}\p{Upper}]
使用上面的代码,正则表达式将是\p{Alpha}+
,它匹配一个或多个字母字符。这会忽略数字、下划线、空格等
有关更多信息,请参阅中的部分POSIX字符类(仅限US-ASCII) 使用字母字符
\p{Alpha}
:[\p{Lower}\p{Upper}]
使用上面的代码,正则表达式将是\p{Alpha}+
,它匹配一个或多个字母字符。这会忽略数字、下划线、空格等
有关更多信息,请参阅中的部分POSIX字符类(仅限US-ASCII) +对于非空字符串:)+对于非空字符串:)