Regex 如何在正则表达式中包含2个单词,结果必须仅基于这2个单词VB.NET
我想知道如何在正则表达式中只包含2个或更多关键字。结尾结果应该只显示定义的单词,而不是一个单词 我现在有多个关键字,但我希望它使用两个字,而不是任何一个其他 例如:Regex 如何在正则表达式中包含2个单词,结果必须仅基于这2个单词VB.NET,regex,vb.net,visual-studio-2010,pdf,Regex,Vb.net,Visual Studio 2010,Pdf,我想知道如何在正则表达式中只包含2个或更多关键字。结尾结果应该只显示定义的单词,而不是一个单词 我现在有多个关键字,但我希望它使用两个字,而不是任何一个其他 例如: Dim pattern As String = "(?i)[\t ](?<w>((arma)|(crapo))[a-z0-9]*)[\t ]" Dim模式为String=“(?i)[\t](?((arma)|(crapo))[a-z0-9]*)[\t]” 现在,通过包含“arma”或“crapo”,代码可以正常工作。
Dim pattern As String = "(?i)[\t ](?<w>((arma)|(crapo))[a-z0-9]*)[\t ]"
Dim模式为String=“(?i)[\t](?((arma)|(crapo))[a-z0-9]*)[\t]”
现在,通过包含“arma”或“crapo”,代码可以正常工作。我只希望它包括“arma”和“crapo”,否则不会显示任何结果
处理在PDF文档中查找某些关键字的问题,我只希望在PDF文档同时包含“arma”和“crapo”时显示结果(显示“arma”或“crapo”的结果很好),我希望看到基于“arma”和“crapo”的结果
对不起,听起来这么重复
编辑:这是我的代码。请阅读评论
Dim filesz() As String = GetPatternedFiles("c:\temp\", New String() {"tes*.pdf", "fes*.pdf", "Bas*.pdf"})
'The getpatterenedfiles is a function" also gettextfromPDF is another function.
For Each s As String In filesz
Dim thetext As String = Nothing
Dim pattern As String = "(?i)[\t ](?<w>(crapo)|(arma)[a-z0-9]*)[\t ]"
thetext = GetTextFromPDF(s)
For Each m As Match In Regex.Matches(thetext, pattern)
ListBox1.Items.Add(s)
Next
Next
Dim filesz()As String=GetPatternedFiles(“c:\temp\”,新字符串(){“tes*.pdf”、“fes*.pdf”、“Bas*.pdf”})
“GetPatterEndFiles是一个函数”gettextfromPDF也是另一个函数。
对于文件Z中的每个字符串
将文本变暗为字符串=无
尺寸模式为String=“(?i)[\t](?(crapo)|(arma)[a-z0-9]*)[\t]”
thetext=GetTextFromPDF(s)
对于Regex.Matches中的每个m As匹配(文本、模式)
ListBox1.Items.Add(s)
下一个
下一个
您可以使用此正则表达式:
\barma\b.*?\bcrapo\b|\bcrapo\b.*?\barma\b
这个想法是匹配arma
whichcrapo
或crapo
whicharma
并使用单词边界来避免像业力这样的单词
然而,如果你想按照你在评论中的要求匹配因果报应或恶作剧,你可以使用:
arma.*?crapo|crapo.*?arma
你能给出输入和期望输出的例子吗?好的,我不知道你的意思,但是,我有几百个PDF文件,我只想要包含这两个关键字“arma”和“crapo”的PDF文件列表,现在代码可以很好地包含“arma”或“crapo”。但是我只想要一个PDF文件同时包含“arma”和“crapo”的结果.这似乎是一个理想的解决方案,但我的意图是捕捉“因果报应”和“恶作剧”这样的词在PDF中。那么,如果我删除/b,会删除边界吗?@TuckingFypo是的,如果你想捕获karma或crapotos,那么就删除单词边界
\b
。我会用该fede更新答案,所以上面的修复应该如解释的那样工作?…请记住,代码一次只处理一个PDF,它应该只给我如果这两个单词存在于该PDF文件中,则返回结果。如果该PDF文件中只存在一个单词,则我不希望对其进行处理。如果您确认,请提前感谢。此外,如果关键字为大写或小写,则我希望忽略它。我将尝试将您的代码实现到我的上述代码中,因为我的代码可以正常工作。@TucKimfPyo只需添加密钥不敏感标志。检查链接。BTW,如果您的问题得到答复,您可以考虑将其标记为“解析”: