Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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,我真正想做的是匹配子字符串包含的所有单词。它可以工作,但我尝试了一个单词。我不想匹配该字符串,但我想匹配添加到该字符串的任何额外字符。如下图所示 ^(?!wallet)(car|cell phone|marbles|wallet|.*?wall.*)$ 在上面的示例中,我不想与wallet匹配,但可以与wallett匹配。可能吗?您可以这样使用它: ^(?!(wallet|nag)$)(car|cell phone|marbles|wallet|.*?wall.*)$ 你的正则表达式的问题是

我真正想做的是匹配子字符串包含的所有单词。它可以工作,但我尝试了一个单词。我不想匹配该字符串,但我想匹配添加到该字符串的任何额外字符。如下图所示

^(?!wallet)(car|cell phone|marbles|wallet|.*?wall.*)$

在上面的示例中,我不想与wallet匹配,但可以与wallett匹配。可能吗?

您可以这样使用它:

^(?!(wallet|nag)$)(car|cell phone|marbles|wallet|.*?wall.*)$

你的正则表达式的问题是,消极的前瞻性将匹配从“钱包”开始的所有内容。“wallett”也以“wallet”开头,因此它将被匹配,因此(因为它是一个负面展望)被排除在外

您可以通过添加
$
锚来修复此问题,以确保它只匹配钱包,后面没有任何内容

因此,您的正则表达式将变成:

^(?!wallet$)(car|cell phone|marbles|.*?wall.*)$
(请注意,正则表达式中的后一个“钱包”可以删除,因为它等于负前瞻,因此永远不会匹配。)


你可以看到一个活生生的例子。

regex不是一种语言……Ivar先生。它是一个概念。不需要添加这个概念。它不是必需的标记不限于语言。标记表示与问题相关的主题,而不是明确使用的语言。另外,你能给我们看一张照片吗?你怎么用这个正则表达式?给定输入的期望输出是什么?问题是我想和瓦利特比赛。。。。字符串,因为我们正在检查包含“*wall.*”但我不想与“wallet”匹配,因为我们正在减去单词thankyou Ivar.itsworking@IvarNagaraju Thalluri在文章中提到过,我们无法在包含条件下看到*符号。这与问题中所问的“wallett”不匹配。还有,
|nag
的作用是什么?另外,建议您也添加一个解释,说明您的代码/表达式修复了该问题的原因。这里的问题不仅针对提问者,也针对任何未来的访客。^(?!wallet$^ nag$)(汽车、手机、大理石、wallet.*wall.*.*ag.*)试试这个Ivar。效果很好。Shiva Goud只问一个否定值,但我给了多个。如果他愿意,他会接受。不需要那些大写字母@NagarajuThalluri。你可以直接使用^(?)?!(wallet | nag)$)(car |手机| marbles | wallet | | wall.*.$@NagarajuThalluri正如我所说,你应该添加一个解释,解释为什么你的代码/表达式修复了这个问题。OP解决了他们的问题,这很好,但我们也希望为未来的访问者提供高质量和良好的解释。请相应地回答你的问题。