REGEX与2个字符串之间的任何字符匹配
问题描述:
我试过这与一个正则表达式测试仪,它的工作原理。但为什么我不能为JAVA工作。 我希望能寻找neither..........nor
我想看看有多少东西neither
是nor
在一个字符串:"Neither u or me are human"
。
我曾尝试:
occurrence += sentence.split("(?i)\\Wneither.+nor\\W").length - 1;
,但它不工作,因为输出System.out.print(occurrence)
结果是0
。
我以为\\W
代表非单词字符,而.+
代表任何字符。
我怎样才能得到一个occurrence
结果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_之间的任何东西,或者至少是我的理解 –
*这是行不通的*是没有问题的说明,以及*任何解决方案*你还没有解释的一个问题是不是一个问题。你对这个正则表达式有什么**特定的问题,以及你希望我们回答你的具体问题**? –
在“你或我都不是人”中,“既不+也不”。还有至少1次出现的语法错误:-) – sprinter
如果你正在寻找'既不ABC也不'(其中_ABC_是任何单词),那么你的''既不是你也不是我'是'给出的结果是正确的。如果字符串是“”你和我都不是人类“,那么你可以期待1的结果,不是吗?你的问题真的只是_“如何计算在句子”_“中使用了多少”既不“又有多少”和“? –