Vegetable

你们会给正则表达式写注释吗?

  •  
  •   Vegetable · Sep 11, 2019 · 4420 views
    This topic created in 2468 days ago, the information mentioned may be changed or developed.

    比如代码里出现了这个身份证的正则(网上搜的,写的不太好)

    const idcardPattern = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/
    
    

    现在我要检查这个正则写的对不对,有点反人类了...

    我甚至很晚才知道正则表达式可以通过(?#这种方式)写注释...

    6 replies    2019-09-11 19:17:07 +08:00
    xream
        1
    xream  
       Sep 11, 2019   ❤️ 1
    https://www.debuggex.com/ 可视化的工具很多
    zhujinliang
        2
    zhujinliang  
       Sep 11, 2019 via iPhone
    我要是写的话正则用拼字符串一行一行的写,注释就是代码注释
    stillyu
        3
    stillyu  
       Sep 11, 2019 via iPhone
    身份证号用最后一位数的计算算法来验证,不是更好
    uTOmOuk3L6sb4MSI
        4
    uTOmOuk3L6sb4MSI  
       Sep 11, 2019 via iPhone
    一般只写用途吧
    mcfog
        5
    mcfog  
       Sep 11, 2019   ❤️ 1
    我选择删掉正则用普通代码实现,而不是给正则加注释来假装这东西是可以被维护的
    amazingrise
        6
    amazingrise  
       Sep 11, 2019 via Android
    推荐 regexr.com
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5305 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 01:21 · PVG 09:21 · LAX 18:21 · JFK 21:21
    ♥ Do have faith in what you're doing.