大家都是怎么练习正则表达式的呢?

2018-12-28 21:55:32 +08:00
 szzhiyang

我相信,想问这个问题的 V 友不止我一个。

13004 次点击
所在节点    程序员
92 条回复
KasuganoSoras
2018-12-28 22:52:24 +08:00
不会就上 Google 找,我学了这么久也就记住了个匹配中英文,数字,特殊字符,指定长度
junjieyuanxiling
2018-12-28 23:02:44 +08:00
记住几个常用的就够了吧,有需要再找。
seki
2018-12-28 23:03:33 +08:00
需要用的时候,打开 google 和 regex101,开始不断尝试
qz357
2018-12-28 23:04:48 +08:00
推荐一个神奇 https://regex101.com
xiangyuecn
2018-12-28 23:07:29 +08:00
感觉一个小时学会简单正则表达式(忘不了),能解决 80%需求。剩下容易忘、难懂的了解一下就行了,像楼上说的这部分学会了也容易忘记。。

简单的:
^$ 开头结尾
*+? 吃豆人
? 阻止吃豆
.\w\d\s 那些大写的就算了 算是取反
\b 好东西,不过好难理解
()(?:) 分组,拒绝分组
| 或运算符?
[] 难用的一币
{} 感觉挺有用,其实用的少,*+?用的多

不常用的:
剩下的都好高级的好吧,难学难写,各种环境下还不一定支持,学会了可以解决剩下的 20%需求
Navee
2018-12-28 23:24:12 +08:00
开始是准备学的,发现怎么都学不会
后来工作每天都要用,莫名其妙就会了
neptuno
2018-12-28 23:26:34 +08:00
学了就忘说明并不需要经常用到正则,等到要经常用的时候自然就会了
piokhj
2018-12-28 23:59:20 +08:00
不要学,不要记,直接用。
正则可以解决很多问题,每天都能用上。
momoplutoliu
2018-12-29 00:13:21 +08:00
程序员都有 sublime text, vscode, 各种 IDE 吧?
那不简单:
- 把要处理的文本打开
- ctrl+f,选择正则匹配模式
- 查表,不断的试,编译器的高亮就是反馈

基本的.*+?()[]^$这些符号含义记清楚,我也没有专门的去针对训练,
用到的时候,自己先试,试不出来问 google,再试
wivwiv
2018-12-29 00:43:19 +08:00
程序员遇到一个问题 好像可以用正则解决?
好了,现在变成两个问题了
Greatshu
2018-12-29 01:16:00 +08:00
写 B 站弹幕屏蔽列表
komorebiSaw
2018-12-29 01:38:53 +08:00
会用基本的, 但原则是能不用就不用
以前见过别人 n 个文件, 每个文件几百行正则 惊为天书
Sparetire
2018-12-29 02:15:28 +08:00
学完编译原理,简单的正则不需要查也会写了,扩展的正则特性,用到再查查,多用几次也差不多都记住了
sola97
2018-12-29 02:22:25 +08:00
B 站弹幕屏蔽列表+1,写着多了就熟了
mario85
2018-12-29 02:50:53 +08:00
多玩玩 grep
Telegram
2018-12-29 03:54:45 +08:00
这玩意就是要用了现查现用就行了
xxgirl2
2018-12-29 04:05:39 +08:00
正则好学
关键是用到它的那几个命令的参数一直记不住
dangyuluo
2018-12-29 06:49:07 +08:00
学习正则就像是学习骑自行车一样,光看理论没什么用,需要的时候花两个小时看一下就可以了。然后另一点就是多看别人的正则是怎么写的。
tachikomachann
2018-12-29 08:07:11 +08:00
用 vim。。。
Akiyu
2018-12-29 08:25:43 +08:00
多用啊, 用着用着就会了
你想学的话有两本书可以推荐

初学者: 正则表达式必知必会
评价: 这本书很小巧, 地铁里面可以读.
如果你不关心原理, 只是想快速使用的话, 这本最合适不过了

进阶: 精通正则表达式
评价: 这本书就是比较权威的书籍了.
上面那本书的作者在引言中都推荐了这本书, 可见此书的含金量有多高
适合对正则表达式有一定理解了, 并且工作中常用到, 想进阶的人看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/522069

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX