Regex 用于和运算符的正则表达式

Regex 用于和运算符的正则表达式,regex,Regex,我需要一个需要匹配的正则表达式 从原点开始到id=和;到案例。 我应用了“或”条件,但它只满足一个条件。有什么建议吗 origin=eBook;id=**N27F-00000-00**;type=cases 正则表达式: (^(.*id=)|(;type=cases.*)您弄错了正则表达式的一些基本原理,我马上解释一下。但现在,请尝试以下方法: id=(.*?);type=cases 正则表达式尝试尽可能多地匹配字符串。这意味着它可以匹配字符串的一部分,并且您不需要在字符串的任一侧使用*(

我需要一个需要匹配的正则表达式

从原点开始到id=
;到案例。

我应用了“或”条件,但它只满足一个条件。有什么建议吗

origin=eBook;id=**N27F-00000-00**;type=cases 
正则表达式:


(^(.*id=)|(;type=cases.*)

您弄错了正则表达式的一些基本原理,我马上解释一下。但现在,请尝试以下方法:

id=(.*?);type=cases
  • 正则表达式尝试尽可能多地匹配字符串。这意味着它可以匹配字符串的一部分,并且您不需要在字符串的任一侧使用
    *
    (除非您想要捕获该信息)
  • 因为我们没有在开头匹配
    *
    ,所以您不需要从字符串的开头开始(
    ^
  • 不存在
    运算符,因为默认情况下整个正则表达式必须匹配

  • 更新

    这仍然会匹配整个regex块。由于我在重要部分(
    N27F-00000-00
    )周围使用了括号,因此它将放在。如果您不想处理匹配组,可以使用:


    (?根据regex标记,请指定您正在使用的语言或工具。您希望得到什么输出?regex需要匹配“origin=eBook;id=”和“type=cases”。仅id值(N27F-00000-00)需要不匹配。基本上,您希望删除id部分的所有其他内容?在这种情况下,Sam的答案应该对您有用,它将为您提供\1或$1的匹配结果“id=N27F-00000-00;type=cases”所有的值。看看我的Regex101链接,我从来没有在RegexPal中使用过lookbehind语法。另外,在你的实际代码中尝试一下。如果它不起作用,那么我需要知道你使用的是哪种语言(如果你不帮我,我就帮不了你)。此外,你可以始终使用我的第一个解决方案,并查看匹配组
    $1
    (?<=id=).*?(?=;type=cases)