当两个单词中的任何一个出现时,Regex停止匹配
我想在出现“目录”或“标记”这两个词时停止捕获 文本案例1:当两个单词中的任何一个出现时,Regex停止匹配,regex,string-matching,Regex,String Matching,我想在出现“目录”或“标记”这两个词时停止捕获 文本案例1: "...input job: dentist directory job: hygenist </tag>" 如果我只使用一个结束案例,则文本案例1是满意的: (?<=input job: )(\D*)(?= directory) (?好的,我的问题是我没有使用懒惰的量词*?(匹配尽可能少的字符)。我使用的是贪婪的量词*(匹配尽可能多的字符)。因此,我尝试的所有操作都没有按预期进行。以下操作非常有效: (?<
"...input job: dentist directory job: hygenist </tag>"
如果我只使用一个结束案例,则文本案例1是满意的:
(?<=input job: )(\D*)(?= directory)
(?好的,我的问题是我没有使用懒惰的量词*?
(匹配尽可能少的字符)。我使用的是贪婪的量词*
(匹配尽可能多的字符)。因此,我尝试的所有操作都没有按预期进行。以下操作非常有效:
(?<=input job:)(\D*?)(?=directory|<\/tag>)
(?这不是一个代码或正则表达式编写服务,在这里,你发布了你的需求,而有人炮制了一些东西来匹配它们。你自己做了什么尝试来解决这个问题?请包括你最近所做的努力,并解释它如何没有像你预期的那样工作。在你这样做的同时,添加一个标记来指示你使用的正则表达式引擎重复使用,因为它们之间存在主要的功能和语法差异。@KenWhite为没有显示我的尝试表示歉意,我正试图使帖子尽可能清晰。@gp\u我同意,我需要在社区中更加活跃。
(?<=input job: )(\D*)(?= directory)
(?<=input job: )(\D*)(?= <\/tag>)
(?<=input job:)(\D*?)(?=directory|<\/tag>)