【问题标题】:How to make conditional regex如何制作条件正则表达式
【发布时间】:2022-07-06 22:44:13
【问题描述】:

我想创建正则表达式,其中 {{if gender == }} 将被固定,“男性”、“女性”、“两者”和“未知”将是要检查的动态值。我已经尝试过这样的事情

/^\{\{if gender == "Male"|"Female"|"Both"|"Unknown"\}\}$/i

但这仅检查 {{if gender == "Male" 并不好。 另外,我尝试过类似的方法

/^\{\{if gender == ("Male"|"Female"|"Both"|"Unknown")\}\}$

但这仅向我显示了一个组。 我做错了什么?

【问题讨论】:

    标签: regex


    【解决方案1】:

    您也需要在第一部分加上括号,它可以工作:

    ^(?:\{\{if gender ==) (?:"Male"|"Female"|"Both"|"Unknown")\}\}$
    

    我正在使用 ?: 使其成为非捕获组。或者,它可以按如下方式使用:

    ^(\{\{if gender ==) ("Male"|"Female"|"Both"|"Unknown")\}\}$
    

    Regex working link

    【讨论】:

      猜你喜欢
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多