Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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,我想删除一个单词及其所有尾随空格 这是我的正则表达式: item.getName().replace(word+“(\\s*)?”,”) 我通过运行以下命令来测试此语句: item.getName().replace(单词“”) 这将成功执行,尽管有额外的空格。因此,该错误一定是由于“(\\s*)?”部件引起的。是不是因为我没有正确地避开斜杠?或者Java无法识别该正则表达式中的某些内容?使用字符串作为其第一个参数。使用replaceAll代替使用字符串作为其第一个参数。改为使用replaceA

我想删除一个单词及其所有尾随空格

这是我的正则表达式:

item.getName().replace(word+“(\\s*)?”,”)

我通过运行以下命令来测试此语句:

item.getName().replace(单词“”)


这将成功执行,尽管有额外的空格。因此,该错误一定是由于
“(\\s*)?”
部件引起的。是不是因为我没有正确地避开斜杠?或者Java无法识别该正则表达式中的某些内容?

使用
字符串作为其第一个参数。使用
replaceAll
代替使用
字符串作为其第一个参数。改为使用
replaceAll
字符串。replace方法不接受正则表达式。我相信您必须在orer中使用replaceAll才能使用正则表达式。此外,正则表达式是一种通用语法,它表示特定的字符串模式,而不是包含特定单词的特定实例。你不能用这种方式把一个词和一个正则表达式混在一起

String.replace方法不接受正则表达式。我相信您必须在orer中使用replaceAll才能使用正则表达式。此外,正则表达式是一种通用语法,它表示特定的字符串模式,而不是包含特定单词的特定实例。你不能用这种方式把一个词和一个正则表达式混在一起

您的字符串看起来像一个正确的正则表达式,但它是多余的<代码>*
匹配0或多个令牌,
匹配0或1。因此,您正在匹配0或1组0或更多的空间。基本上,如果你取出
,它也会做同样的事情。你的字符串看起来像一个正确的正则表达式,但它是多余的<代码>*
匹配0或多个令牌,
匹配0或1。因此,您正在匹配0或1组0或更多的空间。基本上,如果你拿出
,它也会做同样的事情。这很有效!哇,我永远也想不到。你也可以用,如果有什么用的话……那就行了!哇,我永远也想不到。你也可以用,如果有的话。。。