Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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/17.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等价于Javascript正则表达式_Java_Regex - Fatal编程技术网

JAVA等价于Javascript正则表达式

JAVA等价于Javascript正则表达式,java,regex,Java,Regex,我对java完全是初学者 在javascript中,我有一个正则表达式: /[^0-9.,\-\ ]/gi 如何在java中实现同样的功能?请看以下内容: 使用正则表达式在Java中可以做很多事情如果您想重复匹配该正则表达式,可以执行以下操作: Pattern p = Pattern.compile("(?i)[^0-9.,-\ ]"); Matcher m = p.matcher(targetString); 然后在循环中使用matcher方法来获得所需的匹配。“i”是一个不区分大小写的

我对java完全是初学者

在javascript中,我有一个正则表达式:

/[^0-9.,\-\ ]/gi
如何在java中实现同样的功能?

请看以下内容:
使用正则表达式在Java中可以做很多事情如果您想重复匹配该正则表达式,可以执行以下操作:

Pattern p = Pattern.compile("(?i)[^0-9.,-\ ]"); 
Matcher m = p.matcher(targetString);
然后在循环中使用matcher方法来获得所需的匹配。“i”是一个不区分大小写的标志(您实际上不需要它,因为没有指定字符),但我不确定“g”标志的等效物是什么。。我认为这只是尝试将模式重复应用于目标字符串,而不是尝试匹配整个字符串,这就是上面的代码所做的


此外,上面的模式一次只匹配一个字符,实际上您可能需要
[^0-9.,-\]*
,这将与0个或多个字符匹配。如果我是你,我会阅读课堂上的文档。

在while循环中使用
find
方法相当于
/g
标志进行渐进匹配。你不能像现在这样说“逗号通过空格”。转义连字符-减号字符。如果将未转义的连字符作为字符类中的最后一个或第一个字符,此操作也会起作用。但不需要转义空格字符!tchrist您可以随意使用粗体进行编辑,例如,将URL更新为其最新版本。:-)