V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  oakland  ›  全部回复第 1 页 / 共 6 页
回复总数  103
1  2  3  4  5  6  
4 天前
回复了 Raynard 创建的主题 买买买 各位老哥有什么推荐买的小玩意吗?
@needpp 有推荐的品牌啊?都好贵啊
祝福!有空去玩
建议调整调整心情,继续找,不要丧失对生活的希望,尽管生活真的很难,但是一定有还不错的工作在等着你。可以试试一些新媒体什么的,打开思路,不一定非得固定在某个行业和领域,多试试
129 天前
回复了 JeromeCui 创建的主题 机械键盘 求推荐一个性价比高的机械键盘
宁芝静电容
156 天前
回复了 GeekGuru 创建的主题 投资 二十万本金,一个月赚了 2w 是什么水平?
你还当真了,以为是靠你的本领赚到的钱?
我也好想去跑山……
179 天前
回复了 wqnmlgbzml 创建的主题 生活 鸡娃还是放养
放养,你以为的“鸡娃”其实并不是真的“鸡娃”
190 天前
回复了 mqllin 创建的主题 问与答 谁来劝劝我不要买摩托车
不作不会死
安全第一
骑帅不骑快
做好保护:头盔、手套、护具

安全的基础上享受骑行乐趣和便捷
190 天前
回复了 mqllin 创建的主题 问与答 谁来劝劝我不要买摩托车
219 天前
回复了 Features 创建的主题 问与答 谁懂那种资质平庸的痛苦啊?
你应该是还没有找到自己热爱和擅长的东西
220 天前
回复了 proletariat00 创建的主题 生活 对于父母还是不要开玩笑的为好。
不用愧疚,清清楚楚明明白白的表达自己想做主自己的人生,并且直接向父母道歉之前的玩笑开的不合适。你不是父母获得面子的工具,你是你自己,你已经在用行动表达了对父母的爱(毕业出来也给家里五六万了),你也有自己决定自己什么时候结婚和谁结婚的权利。父母可以表达对你婚姻状态的关心,但是也没有干涉你人生的权利。
@SiLenceControL #43 恭喜
232 天前
回复了 b1t 创建的主题 CSS css 好难,你们怎么熟练把 css 用起来的?
css 真的难,没什么统一的组织理论,都是零零散散,tailwind 不全能,postcss 也不全能,全靠各种拼凑。
你要说做个什么效果,那还好,但是要把整个项目组织起来,真是头大
234 天前
回复了 hahawode 创建的主题 分享发现 持久耐用的东西
瑞士军刀
246 天前
回复了 ccc00 创建的主题 程序员 求助,不会写前端代码的困惑
说个具体的例子吧,talk is cheap, show me the code
我说一下我对于正则表达式的理解,以及 #4 楼的正则表达式是如何写出来的。
正则表达式是一种线性表达式,它可以表达 concatenation / alternative / repeat 这 3 种类型,但是它不可以表达“递归”,在 Chomsky 语言级别中属于 type-3 这个级别,也就是说它的语法决定了它表达的内容是有限的。

concatenation 换句话来说就是串行,比如 /ab/ 这个正则表达式表达的就是 a 和 b 连接起来的内容。

alternative 换句话来说就是并行,也可以说是 “或” 的关系,比如 /a|b/ 表达的就是 a 或者 b 这种模式。

repeat 就是重复,比如 /a*/ 表达的就是 0 到 无穷多 次的 a 。/a+/ 表示的是 1 到 无穷多次 的 a 。/a?/ 表示的是 0 次或者 1 次 a 。

以上 3 个规则是正则表达式的核心规则,所有的其他规则都是基于以上 3 个规则的语法糖。

我最开始学习正则表达式的时候非常害怕就是因为我被太多的语法糖震慑住了。

我们来先定义一下整数,整数就是至少 0-9 至少显示 1 次,也就是 1 到 无穷多个整数。可以用 /\d+/ 来表示,这里 \d 就是 0-9 的语法糖,另外一种写法就是 [0-9],评论区有人提到了,但是没有说为什么要用第二种语法糖。我也没有理解原因。

小数就是 “整数.整数” 这样的格式,所以是 /\d+\.\d+/,注意这里 . 前面添加了 \,是因为 . 本身表示任意字符,是一个语法糖,添加 \ 来表达 “.” 的本义。

同时表达整数或者小数的话,就是 ".整数" 这个部分可以省略,也就是整体可以有 0 次或者 1 次,那么就是 /\d+(\.\d+)?/

如果是科学计数法的话,就是在刚才的基础上再添加一个 “e 整数.整数” 的格式,且后一个 “.整数” 也可以忽略,就是

/\d+(\.\d+)?(E\d+)?/i ,这里最后的 i 后缀表示忽略大小写,ignore case

我们再把 正负号作为可选项添加到这个正则里面就可以得到最终的结论了

/^(\+|-)?\d+(\.\d+)?(E(\+|-)?\d+)?$/i

我发表这个帖子的目标就是想让懂正则的人能够把自己的正则炫出来,并能解释清楚,希望不懂正则的人能够理解这种写法。因为我自己学正则的时候就很害怕,我会很希望能看见这样的帖子。
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2732 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 12:59 · PVG 20:59 · LAX 04:59 · JFK 07:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.