2017-04-06 151 views
-3

enter image description hereREGEX与2个字符串之间的任何字符匹配

我试过这与一个正则表达式测试仪,它的工作原理。但为什么我不能为JAVA工作。 我希望能寻找neither..........nor

我想看看有多少东西neithernor在一个字符串:"Neither u or me are human"

我曾尝试:

occurrence += sentence.split("(?i)\\Wneither.+nor\\W").length - 1; 

,但它不工作,因为输出System.out.print(occurrence)结果是0

我以为\\W代表非单词字符,而.+代表任何字符。

我怎样才能得到一个occurrence结果1

+0

*这是行不通的*是没有问题的说明,以及*任何解决方案*你还没有解释的一个问题是不是一个问题。你对这个正则表达式有什么**特定的问题,以及你希望我们回答你的具体问题**? –

+0

在“你或我都不是人”中,“既不+也不”。还有至少1次出现的语法错误:-) – sprinter

+0

如果你正在寻找'既不ABC也不'(其中_ABC_是任何单词),那么你的''既不是你也不是我'是'给出的结果是正确的。如果字符串是“”你和我都不是人类“,那么你可以期待1的结果,不是吗?你的问题真的只是_“如何计算在句子”_“中使用了多少”既不“又有多少”和“? –

回答

1

你可以用这个数出现:

Pattern pattern = Pattern.compile("(neither|nor)", Pattern.CASE_INSENSITIVE); 
Matcher matcher = pattern.matcher("Neither u or me are human"); 

int count = 0; 
while (matcher.find()) 
    count++; 

System.out.println(count); 
+0

Asker更新了预期结果(更改了规则)。他们特别需要('既非'+'*'+'也不'),其中'*'是两个单词_neither_和_nor_之间的任何东西,或者至少是我的理解 –

相关问题