
面试被问到
你能写一个正则表达式来表示 IP 地址吗
我回去后想了一下,感觉自己总写得不对
这个有没有大佬教下,谢谢!
1 KamenReborn 2020-05-21 15:38:21 +08:00 via Android 这,简单正则还是能写的,复杂的就要查手册了,反正那些复杂语法记不住,学一次忘一次 |
2 zxc1234 OP @KamenReborn 面试就要求你能写啊 |
3 Cooky 2020-05-21 15:42:09 +08:00 via Android [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 不包对 |
4 justseemore 2020-05-21 15:42:37 +08:00 |
5 imn1 2020-05-21 15:44:12 +08:00 ipv4 我可以现写(也是要想的,不是随手),ipv6 不行,因为我还没完全搞清字串规范 ipv4 反正就是按位置逐个判断而已,难点只是 1 位 2 位还是 3 位数字 |
6 marcong95 2020-05-21 15:46:13 +08:00 这种东西其实不难,只是需要耐心 (\d{1,2} |[01]\d |2([0-4]\d |5[0-5] ) ) <上面那一坨>(\.<上面那一坨>){3} |
7 usboy 2020-05-21 16:10:31 +08:00 只有我在咸鱼找人代写嘛 (: |
8 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}$ |
9 Telegram 2020-05-21 16:18:46 +08:00 @usboy #7 正则这个东西现用现查现写就行了。写出一个符合自己使用的很简单,但是要考虑各种情况,写的完美,就比较困难了 |
11 rogwan 2020-05-21 16:38:23 +08:00 via iPhone 正则写不好也是能出大问题的,一般只敢手写简单的正则用用 |