为['Cat'(可选)Dog(。*?)] |条件匹配创建正则表达式['猫'(可选)(。*?)狗]

时间:2019-09-26 14:41:57

标签: regex

我需要构造这种正则表达式。

例如,我有以下字符串变体:

  
      
  • “猫狗绳”
  •   
  • “猫带绳狗”
  •   
  • “ mystring狗”
  •   

我应该总是从这里提取“ mystring”。我该如何处理?

我尝试使用OR匹配,但是这里似乎有点冲突'\

1 个答案:

答案 0 :(得分:0)

^(?:Cat )?(?:Dog )?(.*?)(?: Dog)?$将从您的特定示例中提取您的字符串(无论可能是什么)。

  • ^ $在字符串的开始和结束之间...
  • (?:Cat )?匹配Cat(可选)
  • (?:Dog )?匹配Dog(可选)
  • (.*?)捕获您的字符串
  • (?: Dog)?匹配Dog(可选)

Try it here!