Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/27.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
.Net正则表达式至少匹配多个关键字中的一个_.net_Regex - Fatal编程技术网

.Net正则表达式至少匹配多个关键字中的一个

.Net正则表达式至少匹配多个关键字中的一个,.net,regex,.net,Regex,我正在使用一个应用程序(AstroGrep),它使用.Net正则表达式搜索文件(在名称和内容中)。我有一个关键字列表,我需要搜索。我不熟悉正则表达式(缩写为RegEx?),但我试着找到一些可行的方法。假设我的关键词是: 苹果 橙子 香蕉 葡萄 我试过了 苹果|橘子|香蕉|葡萄 但这并不奏效。它实际上返回零结果,即使我创建了一些虚拟文件来测试这个搜索。如果我单独搜索单词,它会找到文件。 我不关心只匹配整个单词,但我需要它不区分大小写 任何帮助都将不胜感激! 谢谢 ~z~迈克 编辑看起来我看不懂。。

我正在使用一个应用程序(AstroGrep),它使用.Net正则表达式搜索文件(在名称和内容中)。我有一个关键字列表,我需要搜索。我不熟悉正则表达式(缩写为RegEx?),但我试着找到一些可行的方法。假设我的关键词是:

  • 苹果
  • 橙子
  • 香蕉
  • 葡萄
  • 我试过了
    苹果|橘子|香蕉|葡萄
    但这并不奏效。它实际上返回零结果,即使我创建了一些虚拟文件来测试这个搜索。如果我单独搜索单词,它会找到文件。 我不关心只匹配整个单词,但我需要它不区分大小写

    任何帮助都将不胜感激! 谢谢 ~z~迈克

    编辑看起来我看不懂。。。我没有单击复选框以指示我正在使用正则表达式

    上面的正则表达式工作。。。某种程度上。看起来它将只查找包含一个单词或另一个单词的文件,而不查找包含这两个单词的文件

    我将使用什么表达式来搜索可能包含任何关键字的文件以及可能包含多个关键字的文件?

    尝试:

    (?i)(apples|oranges|bananas|grapes)
    
    (?i)
    =病例不敏感

    (苹果|橘子|香蕉|葡萄)
    =(单词或单词或单词)


    也许你的方括号丢失了?

    这确实有效,它似乎找到了包含其中一个关键字的文件,但似乎没有找到包含两个或更多关键字的文件。所以它只匹配了包含其中一个关键字的文件?如果一个文件有香蕉和苹果(我从来没有想过我会说:-),它就不会匹配了?你是对的。如果一个文件包含多个关键字,则它没有“找到”该关键字。是否使用
    Regex.Matches
    ?如果找到了多个匹配项,则必须迭代这些匹配项才能获得每个匹配项。当您只对文本是否包含至少一个关键字感兴趣时(但不管它们出现在哪一个或哪里),
    Regex.IsMatch
    是您的朋友。@MariusSchulz Marius,不幸的是,我没有创建该程序,所以我不确定它是如何编程的。我可能需要另找一个工具。