Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许在Java中使用空格字符的正则表达式_Java_Regex - Fatal编程技术网

允许在Java中使用空格字符的正则表达式

允许在Java中使用空格字符的正则表达式,java,regex,Java,Regex,嘿,大家好,所以我试着允许一些文本输入在发送之前通过正则表达式检查。我希望文本仅包含A-Z、0-9和空格“”字符。这是我现在的代码: if(!title.matches("[a-zA-Z0-9_]+") { //fail } else { //success } 但是,当我输入类似“这是一个测试”的内容时,仍然会给出//fail结果 有什么想法吗?谢谢大家。您没有在正则表达式中包含空格。请尝试以下操作: if (!title.matches("[a-zA-Z0-9 ]+"))

嘿,大家好,所以我试着允许一些文本输入在发送之前通过正则表达式检查。我希望文本仅包含A-Z、0-9和空格“”字符。这是我现在的代码:

if(!title.matches("[a-zA-Z0-9_]+") {
    //fail
}
else {
    //success
}
但是,当我输入类似“这是一个测试”的内容时,仍然会给出
//fail
结果


有什么想法吗?谢谢大家。

您没有在正则表达式中包含空格。请尝试以下操作:

if (!title.matches("[a-zA-Z0-9 ]+"))

\s
允许使用任何ASCII空白字符。考虑使用它而不是“”。
否,
\s
仅适用于7位数据。它在Java的本机字符集上不起作用。这对我来说是新闻!我想我应该更小心一点。这就是标准Java正则表达式库的问题。它不适用于Java自己的字符集!你必须把JNI交给ICU,才能得到任何能正常工作的东西——我的意思是,作为最低要求,基本的Unicode功能符合1级的要求。Java并没有满足大多数这些要求,更不用说在2级或3级领域的任何更高要求了。这就是为什么谷歌为Android做了JNI到ICU的事情。他们需要Unicode支持。啊。。。我想这个uu表示一个“”。那么简单的
[a-zA-Z0-9]+
就可以了吗?是的
\u
是文字下划线。这似乎是你不想要的。我已经更新了我的示例。完美。非常感谢你。
if(!title.matches("[a-zA-Z0-9_\s]+")) {
    //fail
}
else {
    //success
}