如果不是必须用,尽量不用这玩意儿… 学也不想学,学了后又忘得快。 今天有个需求要写正则,吐槽一下…
101
old9 2019-03-04 21:02:41 +08:00 via Android 7
正则表达式是个投入很小回报很大的工具,这样的工具可不多,楼主要珍惜。
|
102
northernlights 2019-03-04 21:03:43 +08:00
这么好用的东西怎么反人类了??只是回头去读有点费劲而已,但是写着、用着都很爽啊
|
103
ahonn 2019-03-04 21:12:18 +08:00
那么好用,那里反人类了?
|
104
xxgirl2 2019-03-04 21:25:32 +08:00 1
写的时候加两行注释写两个匹配实例就行了,也方便别人读懂
|
105
luoleng 2019-03-04 21:29:53 +08:00 2
我觉得正则表达式挺好用的呀~嗯、果然,不是人人都想能像我一样年纪轻轻就精通了正则。。哈哈哈哈……
|
106
Semidio 2019-03-04 22:08:06 +08:00
读正则可以用各种工具,比如 https://regex101.com/
|
107
sampeng 2019-03-04 22:44:55 +08:00 via iPhone
现在是能写正则不写 if ………多简洁啊…真正的简单可依赖
|
108
mokain 2019-03-04 22:53:24 +08:00
正则一点不反人类吧,理解规则特别好记住!而且特别喜欢这种小巧又强大的工具
|
109
srx1982 2019-03-04 23:13:03 +08:00
现在你有一个问题
你选择用正则表达式来解决 现在你有两个问题了 |
110
via 2019-03-04 23:27:03 +08:00 via iPhone
正则一时爽,维护火葬场
|
111
Beebird 2019-03-04 23:34:12 +08:00 via Android
正则应该算一项了不起的发明才对。
|
112
bakabie 2019-03-04 23:35:18 +08:00 via Android
除了读不懂之外,写的时候特别好用
|
113
ps1aniuge 2019-03-04 23:54:18 +08:00
华山玉女峰惨案---气剑之争,脚本界反正则之辩!
http://bbs.chinaunix.net/thread-4297525-1-1.html |
114
909076350 2019-03-04 23:56:42 +08:00
正则表达式很好用的 用来过滤数据 方便快捷
但是个人觉得可读性差 至于忘记了 如果常用的话 写下笔记 常用的符号和函数也就那几个 |
115
ffffffff8 2019-03-04 23:59:46 +08:00
说出心声了。
|
116
autoxbc 2019-03-05 00:02:20 +08:00 via iPhone
正则就是精炼的程序,编程的规范在正则里都应该遵守
比如可维护,不好读的正则不如不写; 比如语义清晰,看不出语义的应该有注释; 比如不要炫技,要考虑合作者的技能等级 |
117
ngg0707 2019-03-05 00:02:54 +08:00
程序错误吧,维基百科里“程序错误”=bug
|
118
jim9606 2019-03-05 00:14:45 +08:00
你要知道如果你不用正则,那个匹配逻辑你要写多少行,写那玩意虽然直观一些但很无聊的。
通常是出现上下文相关语法时正则会比较难看,这时考虑用条件判断拆分成多个正则表达式就好看了。 |
119
dd0754 2019-03-05 00:22:50 +08:00 via iPhone
这么好用怎么会是反人类?
|
120
yanaraika 2019-03-05 01:38:25 +08:00 via Android
只要没有大量前向反向引用就用正则,否则写代码 parse
|
121
dangyuluo 2019-03-05 05:21:28 +08:00
这东西属于学习曲线很陡,但是学会了用处很大的一类工具
|
122
1a0ma0 2019-03-05 07:00:34 +08:00 via iPhone
写还好,读就痛苦了。即使是自己写的。
|
123
AX5N 2019-03-05 07:24:09 +08:00
干嘛要读正则,难道你还要去改吗?都是直接写注释,要改直接重新写了。
|
124
Trumeet 2019-03-05 07:40:37 +08:00
同。
|
125
Imr 2019-03-05 08:05:20 +08:00 via iPhone
做运维可不这么想,正则对于文本处理简直是太基础的东西,没觉着用和读有啥难度,而且没有正则,logstash 怎么用
|
126
koebehshian 2019-03-05 08:14:09 +08:00
我也觉得反人类,一般程序语言,标识符之间是可以加空格的,而正则表达式空格都没法加,就直接一坨,只有使用有语法高亮的编辑器时读起来稍微好一点。
|
127
lengyihan 2019-03-05 08:19:29 +08:00 via Android
你说得对。😁😂😂😂
|
128
maxxfire 2019-03-05 08:19:44 +08:00
等你学会了,你会说“真香”
|
129
zmlu 2019-03-05 08:21:01 +08:00
可以把一行正则换成无数个 if else
|
130
focusheart 2019-03-05 08:24:29 +08:00
除了正则,还有什么更好的选择?
换工种 |
131
fortunezhang 2019-03-05 08:25:33 +08:00
当你有一个很困难的问题时,你用正则解决了他。好了,现在你有两个困难的问题了。 我记得是来自某本关于测试的书里面。
|
132
DOLLOR 2019-03-05 08:57:05 +08:00
主要是缺少优秀的可视化工具吧
|
133
julyclyde 2019-03-05 09:28:54 +08:00
因为这东西设计出来就是给机器看效率优化的
从设计之初就没考虑给人看 |
134
Felldeadbird 2019-03-05 09:30:44 +08:00
不过换一个语言写的时候,没有找到好用的库,正则是最好的道具吧。
|
135
898601566 2019-03-05 09:30:57 +08:00
学习任何新知识不用都会忘吧
|
136
wly19960911 2019-03-05 09:34:15 +08:00
正则很爽啊,写起来没什么大问题,经常用于搜索替换里面,因为我前端文本处理很少。
|
137
lixuedong 2019-03-05 09:41:46 +08:00
@zhuangzhuang1988 Linux 是自己的 ,Windows 是微软的
|
138
mengzhuo 2019-03-05 09:47:12 +08:00
LZ 10 分钟入门的东西。
学会了绝对会是 真香.jpg |
139
inhzus 2019-03-05 09:56:27 +08:00 via Android
没有正则表达式、自动机这些东西,说得夸张点你我现在都在写汇编代码
|
140
dingyaguang117 2019-03-05 09:59:13 +08:00
我以为是广告贴,LZ 发明了什么不得了的神工具呢。
|
141
maplerecall 2019-03-05 10:03:11 +08:00 via Android
正则对于特征字符串检测非常的简单好用啊,入门到上手也就十分钟吧,理解了根本不会忘,平时最多查几个转义符而已……
|
142
newtype0092 2019-03-05 10:08:35 +08:00
@wenzhoou 试了下工程里几个又臭又长的,这个是真的好用😄
|
143
lib360 2019-03-05 10:24:05 +08:00
经常用,好使
|
144
SakuraKuma 2019-03-05 10:39:41 +08:00
坐等真香。。
正则拯救一大堆重复工作 /代码。。 |
145
ARhen 2019-03-05 11:02:24 +08:00
自己写的正则还好,读别人的正则真的痛苦。尤其是长的,看到就头疼
|
146
syG6WNaS 2019-03-05 11:07:01 +08:00
真香。
|
147
anonymous256 2019-03-05 11:30:20 +08:00 3
没正则日子没法过, 等你需要文本处理就知道了. 写句正则就能解决问题, 多舒服. 至于正则需要记忆? 不用, 忘了就忘了吧. 大不了写的时候, 查下正则的速查表, 不到 3 分钟就想出来了. 分享一个正则的速查表: https://www.jb51.net/shouce/jquery1.82/regexp.html
@ARhen #145 读别人的正则推荐用这个在线的可视化工具 https://regexper.com/ |
148
passerbytiny 2019-03-05 11:44:49 +08:00
没有正则表达式,你准备怎么看日志,总不至于是个系统就上日志分析系统吧。
|
149
Krime 2019-03-05 12:08:44 +08:00
好用啊。
虽然真的不好读。 |
150
sdlearn 2019-03-05 13:41:36 +08:00 via Android
正则是四两拨千斤的好东西
|
151
ARhen 2019-03-05 14:08:13 +08:00
@anonymous256 好滴 感谢分享
不过我日常写正则是匹配 html,会把 html 标签放进去 |
152
DefoliationM 2019-03-05 14:10:35 +08:00 via Android
反人类还行 这么好用的东西竟然反人类
|
153
baiban 2019-03-05 14:41:14 +08:00
正则虽然特别难理解,而且还都标准不统一。但是没有正则,匹配文字更麻烦。
|
154
Bakumon 2019-03-05 14:52:20 +08:00
同感
|
155
xuanwu 2019-03-05 15:06:15 +08:00
有没有可以生成正则但改进了可读性的 DSL 呢?
|
156
leexy 2019-03-05 15:07:13 +08:00
帮你上热门
|
157
talen666 2019-03-05 15:25:57 +08:00
主要是记不住,每次写都要看文档
|
158
cw2k13as 2019-03-05 15:53:53 +08:00
简直就是神器
|
159
feelinglucky 2019-03-05 15:54:36 +08:00
面试的时候问正则其实比问算法要实用得多
|
160
BruceAuyeung 2019-03-05 16:02:23 +08:00 via Android
正则的缺点有 1)可读性差 2)性能差,比如实现同样的功能,直接用 java if/else 比 java 正则性能好上一个数量级。优点:表现力丰富,简约
|
161
civet 2019-03-05 16:47:09 +08:00
翻出以前 star 过的一个项目 https://github.com/VerbalExpressions/JSVerbalExpressions
|
162
Heanes 2019-03-05 17:49:05 +08:00
正则学起来来,但是就是好用
|
163
sc13 2019-03-05 19:22:00 +08:00 via Android
自己写挺好用的,看别人写的就觉得反人类
|
164
cpdyj0 2019-03-05 19:25:05 +08:00
除了不方便阅读,倒是挺好用的,手写 parser 好累啊,正则投入小,回报大,就是别人看不懂
|
165
Hopetree 2019-03-05 22:14:54 +08:00
求求楼主,千万不要学
|
166
beingWH 2019-03-06 08:16:26 +08:00
你有一个问题
你打算用正则 好了,现在你有两个问题 |
167
guanhui07 2019-03-06 08:41:16 +08:00
真香
|
168
ijustdo 2019-03-06 08:58:50 +08:00
你会发现你无论那个语言都离不开正则
基本现在的编辑器都支持正则吧 |
169
darknoll 2019-03-06 09:16:33 +08:00
形式语言与自动机这门课,上学时候考了 90 分
|
170
musi 2019-03-06 10:26:01 +08:00
挺好用的啊,就是别人给我发了一串代码看了半天没看懂,然后问他在干嘛,之后就重写了一句
|