当两个单词中的任何一个出现时,Regex停止匹配

当两个单词中的任何一个出现时,Regex停止匹配,regex,string-matching,Regex,String Matching,我想在出现“目录”或“标记”这两个词时停止捕获 文本案例1: "...input job: dentist directory job: hygenist </tag>" 如果我只使用一个结束案例,则文本案例1是满意的: (?<=input job: )(\D*)(?= directory) (?好的,我的问题是我没有使用懒惰的量词*?(匹配尽可能少的字符)。我使用的是贪婪的量词*(匹配尽可能多的字符)。因此,我尝试的所有操作都没有按预期进行。以下操作非常有效: (?<

我想在出现“目录”或“标记”这两个词时停止捕获

文本案例1:

"...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>)