关于正则表达式

2020-05-21 15:35:33 +08:00
 zxc1234

面试被问到

你能写一个正则表达式来表示 IP 地址吗

我回去后想了一下,感觉自己总写得不对

这个有没有大佬教下,谢谢!

1567 次点击
所在节点    正则表达式
13 条回复
KamenReborn
2020-05-21 15:38:21 +08:00
这,简单正则还是能写的,复杂的就要查手册了,反正那些复杂语法记不住,学一次忘一次
zxc1234
2020-05-21 15:39:56 +08:00
@KamenReborn 面试就要求你能写啊
Cooky
2020-05-21 15:42:09 +08:00
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
不包对
zpfhbyx
2020-05-21 15:42:37 +08:00
imn1
2020-05-21 15:44:12 +08:00
ipv4 我可以现写(也是要想的,不是随手),ipv6 不行,因为我还没完全搞清字串规范

ipv4 反正就是按位置逐个判断而已,难点只是 1 位 2 位还是 3 位数字
marcong95
2020-05-21 15:46:13 +08:00
这种东西其实不难,只是需要耐心

(\d{1,2}
|[01]\d
|2([0-4]\d
|5[0-5]
)
)

<上面那一坨>(\.<上面那一坨>){3}
usboy
2020-05-21 16:10:31 +08:00
只有我在咸鱼找人代写嘛 (:
mainjzb
2020-05-21 16:15:32 +08:00
^(1?\d{1,2}|2([0-4]\d|5[0-5]))(\.(1?\d{1,2}|2([0-4]\d|5[0-5]))){3}$
Telegram
2020-05-21 16:18:46 +08:00
@usboy #7 正则这个东西现用现查现写就行了。写出一个符合自己使用的很简单,但是要考虑各种情况,写的完美,就比较困难了
Telegram
2020-05-21 16:25:01 +08:00
@mainjzb #8 这个我感觉是标准答案了
rogwan
2020-05-21 16:38:23 +08:00
正则写不好也是能出大问题的,一般只敢手写简单的正则用用
zxc1234
2020-05-22 23:30:06 +08:00
@marcong95 大佬,能稍微解释下吗,看不懂
zxc1234
2020-05-22 23:30:46 +08:00
@mainjzb 大佬,能稍微解释下?看不懂

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

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

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

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

© 2021 V2EX