IP地址正則表達式

正則表達式对字符进行格式化匹配。一句指令完毕推断。

IP地址格式   x.x.x.x

x 表示0~255的数字

分三种情况

A.          250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正則表達式能够写成:25[0-5]

B.          200-249:特点:三位数。百位是2,十位是0~4,个位是0~9,用正則表達式能够写成:2[0-4]\d

C.          0-199:这个能够继续分拆,这样写起来更加简单明了.

C.a.    0-9:    特点:一位数,个位是0~9,用正則表達式能够写成:\d

C.b.    10-99:  特点:二位数,十位是1~9。个位是0~9,用正則表達式能够写成:[1-9]\d

C.c.    100-199:特点:三位数。百位是1,十位是0~9,个位是0~9。用正則表達式能够写成:1\d{2}

于是0-99的正則表達式能够合写为[1-9]?\d。那么0-199用正則表達式就能够写成(1\d{2})|([1-9]?\d),这样0~255的正則表達式就能够写成(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?

\d)))

最后。前面3段加上句点.能够使用{3}反复得到,第4段再来一次相同的匹配。得到IP地址的正則表達式:

^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?

\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$
 
每一个符号代表的含义,參考MSDN
 
文章内容參考源网页
时间: 2024-10-12 16:52:11

IP地址正則表達式的相关文章

正則表達式常见例题

常见例题 例1:北美地区的电话号 编码方案:电话号码有一个3位数的区号和一位7位数的号码组成(这个7位数有分成  一个3位的局号和一个4位的路号.局号和路号之间使用连字符分隔) 每位电话号码能够是随意数字,可是区号和局号的第一位数字不能是0或1.实际书写号码是往往会把区号写在括号中面,或者将区号使用连字符和后面的局号连接起来.比如:(555)123-1234或555-123-1234,有时候在括号你里面会包括空格.比如:(555 )123-1234 文本: J.Doe:248-555-1234

JAVA学习第六十五课 — 正則表達式

正則表達式:主要应用于操作字符串.通过一些特定的符号来体现 举例: QQ号的校验 6~9位.0不得开头.必须是数字 String类中有matches方法 matches(String regex) 告知此字符串是否匹配给定的正則表達式. regex,就是给定的正則表達式 public static void checkQQ() { //第一位是数字1-9,第二位以后是0-9,除去第一位数剩下数字位数范围是5到8位 String regex = "[1-9][0-9]{5,8}";//正

shell脚本学习笔记 (正則表達式)

正則表達式一般有三个部分组成,他们各自是:字符类,数量限定符,位置限定符. 规定一些特殊语法表示字符类.数 量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正則表達式(Regular Expression). 我们以一 个样例開始吧.假如给你一个文件,里面存放的是IP地址,可是有一些不是合格的.请你找出合格的IP地址.我想不知道正 则表达式的人一定会认为好陌生,我拿一个循环去实现,我之前也被问到过这个问题,也是想着拿循环来完毕.写出一个函 数来实现这个查找功能实在是不简单

JavaScript正則表達式知识汇总

Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegExp(); 3.RegExp 对象有 3 个方法: 1)test()检索字符串中的指定值,返回值是true或false. var p1=new Reg("e"); document.write(Reg.test("welcome to China!")); 2)exec

js正則表達式--验证表单

检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ password:(数字,英文,下划线,中横线)/^[A-Za-z0-9_-]+$/ 身份证:/\d{17}[\d|x]|\d{15}/ 非空:/^\S+$/ IP地址:/((?:(? :25[0-5]|2[0-4]\d|[01]?\d? \d)\.){3}(?:25[0-5]|2[0-4]\d|[01]

Perl入门(四)Perl的正則表達式

正則表達式是Perl语言的特色.主要的语法不是非常难,可是编写一个符合需求.高效的正則表達式.还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正則表達式内容/; 作用:查找匹配内容中是否包括"正則表達式内容",假设包括返回1,否则返回0: #!user/bin/env perl -w #1... $str1 = "i like perl"; $result1 = ($str1 =~ m/perl/); print "$result1 $st

正則表達式-高速入门

1.元字符 表1.经常使用的元字符 代码 说明 . 匹配除换行符以外的随意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配随意的空白符 \d 匹配数字 \b 匹配单词的開始或结束 ^ 匹配字符串的開始 $ 匹配字符串的结束 注意:"("和")"也是元字符 2.转义字符 假设你想查找元字符本身的话.比方你查找.,或者*,就出现了问题:你没办法指定它们.由于它们会被解释成别的意思. 这时你就得使用\来取消这些字符的特殊意义.因此,你应该使用\.和\*.当然,要查找\

[iOS]经常使用正則表達式

经常使用正則表達式大全!(比如:匹配中文.匹配html) 匹配中文字符的正則表達式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包含汉字在内):[^x00-xff] 评注:能够用来计算字符串的长度(一个双字节字符长度计2.ASCII字符计1) 匹配空白行的正則表達式:ns*r 评注:能够用来删除空白行 匹配HTML标记的正則表達式:<(S*? )[^>]*>.*?|<.*? /> 评注:网上流传的版本号太糟糕,上面这个

经常使用的正則表達式归纳—JavaScript正則表達式

来源:http://www.ido321.com/856.html 1.正则优先级 首先看一下正則表達式的优先级,下表从最高优先级到最低优先级列出各种正則表達式操作符的优先权顺序: 2.经常使用的正則表達式: 匹配中文字符的正則表達式: [\u4e00-\u9fa5] 匹配双字节字符(包含汉字在内):[^\x00-\xff] 匹配空白行的正則表達式:\n\s*\r ps:能够用来删除空白行 匹配HTML标记的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*