代码之家  ›  专栏  ›  技术社区  ›  customcommander

Regex如何匹配几乎所有的单词?

  •  1
  • customcommander  · 技术社区  · 3 年前

    我正在编写一个JSON模式,我需要拿出一个正则表达式来检查字符串是否为:

    • 大写两个字母的单词。
    • TY , AU DA .

    示例:

    一串 有效吗? 评论
    AA
    排除词
    不止两封信
    aa 不在首都

    我觉得这很有挑战性。这可能吗?

    2 回复  |  直到 3 年前
        1
  •  3
  •   Tranbi    3 年前

    您可以使用否定前瞻排除禁用词:

    /(?!AU|TY|DA)[A-Z]{2}/gm
    

    Demo

        2
  •  0
  •   LMC    3 年前

    这个正则表达式可以做到这一点

    \b(A[A-TV-Z]|T[A-WXZ]|D[B-Z]|[BCE-SU-Z][A-Z])\b
    

    比赛:

    AA
    BC
    TU
    DD
    DZ
    MN
    WA
    OU
    CX
    ZI
    

    TY
    AU
    DA
    ZZZ
    AFD
    dA
    aa
    serf