首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

世界上为什么会有正则表达式这么反人类的玩意儿?

  •  
  •   snoopy1024 · 253 天前 via Android · 16635 次点击
    这是一个创建于 253 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果不是必须用,尽量不用这玩意儿… 学也不想学,学了后又忘得快。 今天有个需求要写正则,吐槽一下…

    第 1 条附言  ·  252 天前
    😂😂 我快被你们喷死了, 需求解决了,正则的确是最简洁和高效率的办法。之前硬着头皮认真学过,只是平时没咋用,很容易遗忘,每次看别人写的简直头大,感谢楼下大佬们提供的工具。
    170 回复  |  直到 2019-03-06 10:26:01 +08:00
    1  2  
        101
    old9   253 天前 via Android   ♥ 7
    正则表达式是个投入很小回报很大的工具,这样的工具可不多,楼主要珍惜。
        102
    northernlights   253 天前
    这么好用的东西怎么反人类了??只是回头去读有点费劲而已,但是写着、用着都很爽啊
        103
    ahonn   253 天前
    那么好用,那里反人类了?
        104
    xxgirl2   253 天前   ♥ 1
    写的时候加两行注释写两个匹配实例就行了,也方便别人读懂
        105
    luoleng   253 天前   ♥ 2
    我觉得正则表达式挺好用的呀~嗯、果然,不是人人都想能像我一样年纪轻轻就精通了正则。。哈哈哈哈……
        106
    Semidio   253 天前
    读正则可以用各种工具,比如 https://regex101.com/
        107
    sampeng   253 天前 via iPhone
    现在是能写正则不写 if ………多简洁啊…真正的简单可依赖
        108
    mokain   253 天前
    正则一点不反人类吧,理解规则特别好记住!而且特别喜欢这种小巧又强大的工具
        109
    srx1982   253 天前
    现在你有一个问题
    你选择用正则表达式来解决
    现在你有两个问题了
        110
    via   253 天前 via iPhone
    正则一时爽,维护火葬场
        111
    Beebird   253 天前 via Android
    正则应该算一项了不起的发明才对。
        112
    bakabie   253 天前 via Android
    除了读不懂之外,写的时候特别好用
        113
    ps1aniuge   253 天前
    华山玉女峰惨案---气剑之争,脚本界反正则之辩!
    http://bbs.chinaunix.net/thread-4297525-1-1.html
        114
    909076350   253 天前
    正则表达式很好用的 用来过滤数据 方便快捷
    但是个人觉得可读性差
    至于忘记了 如果常用的话 写下笔记 常用的符号和函数也就那几个
        115
    ffffffff8   253 天前
    说出心声了。
        116
    autoxbc   253 天前 via iPhone
    正则就是精炼的程序,编程的规范在正则里都应该遵守

    比如可维护,不好读的正则不如不写;
    比如语义清晰,看不出语义的应该有注释;
    比如不要炫技,要考虑合作者的技能等级
        117
    ngg0707   253 天前
    程序错误吧,维基百科里“程序错误”=bug
        118
    jim9606   253 天前
    你要知道如果你不用正则,那个匹配逻辑你要写多少行,写那玩意虽然直观一些但很无聊的。
    通常是出现上下文相关语法时正则会比较难看,这时考虑用条件判断拆分成多个正则表达式就好看了。
        119
    dd0754   253 天前 via iPhone
    这么好用怎么会是反人类?
        120
    yanaraika   253 天前 via Android
    只要没有大量前向反向引用就用正则,否则写代码 parse
        121
    dangyuluo   253 天前
    这东西属于学习曲线很陡,但是学会了用处很大的一类工具
        122
    1a0ma0   253 天前 via iPhone
    写还好,读就痛苦了。即使是自己写的。
        123
    AX5N   253 天前
    干嘛要读正则,难道你还要去改吗?都是直接写注释,要改直接重新写了。
        124
    Trumeet   253 天前
    同。
        125
    Imr   253 天前 via iPhone
    做运维可不这么想,正则对于文本处理简直是太基础的东西,没觉着用和读有啥难度,而且没有正则,logstash 怎么用
        126
    koebehshian   253 天前
    我也觉得反人类,一般程序语言,标识符之间是可以加空格的,而正则表达式空格都没法加,就直接一坨,只有使用有语法高亮的编辑器时读起来稍微好一点。
        127
    lengyihan   253 天前 via Android
    你说得对。😁😂😂😂
        128
    maxxfire   253 天前
    等你学会了,你会说“真香”
        129
    zmlu   253 天前
    可以把一行正则换成无数个 if else
        130
    focusheart   253 天前
    除了正则,还有什么更好的选择?

    换工种
        131
    fortunezhang   253 天前
    当你有一个很困难的问题时,你用正则解决了他。好了,现在你有两个困难的问题了。 我记得是来自某本关于测试的书里面。
        132
    DOLLOR   253 天前
    主要是缺少优秀的可视化工具吧
        133
    julyclyde   253 天前
    因为这东西设计出来就是给机器看效率优化的
    从设计之初就没考虑给人看
        134
    Felldeadbird   253 天前
    不过换一个语言写的时候,没有找到好用的库,正则是最好的道具吧。
        135
    898601566   253 天前
    学习任何新知识不用都会忘吧
        136
    wly19960911   253 天前
    正则很爽啊,写起来没什么大问题,经常用于搜索替换里面,因为我前端文本处理很少。
        137
    lixuedong   252 天前
    @zhuangzhuang1988 Linux 是自己的 ,Windows 是微软的
        138
    mengzhuo   252 天前
    LZ 10 分钟入门的东西。
    学会了绝对会是
    真香.jpg
        139
    inhzus   252 天前 via Android
    没有正则表达式、自动机这些东西,说得夸张点你我现在都在写汇编代码
        140
    dingyaguang117   252 天前
    我以为是广告贴,LZ 发明了什么不得了的神工具呢。
        141
    maplerecall   252 天前 via Android
    正则对于特征字符串检测非常的简单好用啊,入门到上手也就十分钟吧,理解了根本不会忘,平时最多查几个转义符而已……
        142
    newtype0092   252 天前
    @wenzhoou 试了下工程里几个又臭又长的,这个是真的好用😄
        143
    lib360   252 天前
    经常用,好使
        144
    SakuraKuma   252 天前
    坐等真香。。
    正则拯救一大堆重复工作 /代码。。
        145
    ARhen   252 天前
    自己写的正则还好,读别人的正则真的痛苦。尤其是长的,看到就头疼
        146
    syG6WNaS   252 天前
    真香。
        147
    anonymous256   252 天前   ♥ 3
    没正则日子没法过, 等你需要文本处理就知道了. 写句正则就能解决问题, 多舒服. 至于正则需要记忆? 不用, 忘了就忘了吧. 大不了写的时候, 查下正则的速查表, 不到 3 分钟就想出来了. 分享一个正则的速查表: https://www.jb51.net/shouce/jquery1.82/regexp.html

    @ARhen #145 读别人的正则推荐用这个在线的可视化工具 https://regexper.com/
        148
    passerbytiny   252 天前
    没有正则表达式,你准备怎么看日志,总不至于是个系统就上日志分析系统吧。
        149
    Krime   252 天前
    好用啊。
    虽然真的不好读。
        150
    sdlearn   252 天前 via Android
    正则是四两拨千斤的好东西
        151
    ARhen   252 天前
    @anonymous256 好滴 感谢分享
    不过我日常写正则是匹配 html,会把 html 标签放进去
        152
    DefoliationM   252 天前 via Android
    反人类还行 这么好用的东西竟然反人类
        153
    baiban   252 天前
    正则虽然特别难理解,而且还都标准不统一。但是没有正则,匹配文字更麻烦。
        154
    Bakumon   252 天前
    同感
        155
    xuanwu   252 天前
    有没有可以生成正则但改进了可读性的 DSL 呢?
        156
    leexy   252 天前
    帮你上热门
        157
    talen666   252 天前
    主要是记不住,每次写都要看文档
        158
    cw2k13as   252 天前
    简直就是神器
        159
    feelinglucky   252 天前
    面试的时候问正则其实比问算法要实用得多
        160
    BruceAuyeung   252 天前 via Android
    正则的缺点有 1)可读性差 2)性能差,比如实现同样的功能,直接用 java if/else 比 java 正则性能好上一个数量级。优点:表现力丰富,简约
        161
    civet   252 天前
        162
    Heanes   252 天前
    正则学起来来,但是就是好用
        163
    sc13   252 天前 via Android
    自己写挺好用的,看别人写的就觉得反人类
        164
    cpdyj0   252 天前
    除了不方便阅读,倒是挺好用的,手写 parser 好累啊,正则投入小,回报大,就是别人看不懂
        165
    Hopetree   252 天前
    求求楼主,千万不要学
        166
    beingWH   252 天前
    你有一个问题
    你打算用正则
    好了,现在你有两个问题
        167
    guanhui07   252 天前
    真香
        168
    ijustdo   252 天前
    你会发现你无论那个语言都离不开正则
    基本现在的编辑器都支持正则吧
        169
    darknoll   252 天前
    形式语言与自动机这门课,上学时候考了 90 分
        170
    musi   251 天前
    挺好用的啊,就是别人给我发了一串代码看了半天没看懂,然后问他在干嘛,之后就重写了一句
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4125 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 39ms · UTC 01:35 · PVG 09:35 · LAX 17:35 · JFK 20:35
    ♥ Do have faith in what you're doing.