正则表达式

正则表达式

1:      [ 所有备选字符 ] :一个中括号只能代表一位字符

2:      [^xxxx]                        :表示除了xxxx都行 ^放在前面是非的意思,放在中间就被当做普通字符匹配。

 

3-符号:当被选字符是连续的时候,就可以用来表示一个范围数字[0-9]字母[a-zA-Z]汉字[\u4e00-\u9fa5]

 

4:预定义字符集:使用简化的字符来定义常用字符集。

[0-9]à\d 数字                  空字符à\s(代表一切看不见的字符) \n,\t,空格

[0-9a-zA-Z_]à\W 字母数字下划线

5:原文如果对应位置上既不是范围,也不是预定义字符,那么它就是一个原文,\代表转义,因为在正则表达式中.代表任意字符。

6数量词:规定一个字符出现次数的量词

语法:{min,max}最小个数-最大个数 

 {num}如果只写一个那么就是固定长度

{min,}至少min个

7:特殊的数量词:+,*,?,()

?:一次或没有         *:没有或多次或一次   +:一次或多次   ()分组

   

8:指定匹配位置:

^:放在这个正则表达式的开头,表示以xxxx开始。

$:放在整个正则表达式的结尾,表示以xxxx结束

9:预判符

?=:前一个字符之后必须紧跟xxx字符。

?!:前一个字符之后必须没有xxx字符。

10:模式

贪婪模式:.+  .*  默认先匹配整个字符串,再缩小范围。

懒惰模式:(.+?),(.*?)  从第一个字符开始,向后扩展范围,匹配到就不再匹配了。

通过如上的正则匹配方式,可以制造一个<a>标签的网络爬虫。

常用的正则表达式

匹配中文字符的正则表达式:[\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内)[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*)\/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?

sql
语句:^(select|drop|delete|create|update|insert).*$

1
、非负整数:^\d+$

2
、正整数:^[0-9]*[1-9][0-9]*$

3
、非正整数:^((-\d+)|(0+))$

4
、负整数:^-[0-9]*[1-9][0-9]*$

5
、整数:^-?\d+$

6
、非负浮点数:^\d+(\.\d+)?$

7
、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

8
、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$

9
、负浮点数:^(-((正浮点数正则式)))$

10
、英文字符串:^[A-Za-z]+$

11
、英文大写串:^[A-Z]+$

12
、英文小写串:^[a-z]+$

13
、英文字符数字串:^[A-Za-z0-9]+$

14
、英数字加下划线串:^\w+$

15
E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

16
URL^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

17
、邮政编码:^[1-9]\d{5}$

18
、中文:^[\u0391-\uFFE5]+$

19
、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20
、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

21
、双字节字符(包括汉字在内)^\x00-\xff

22
、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

23匹配HTML标记:<(.*)>.*<\/\1>|<(.*)\/>

24、匹配空行:\n[\s| ]*\r

25
、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *=*('|")?(\w|\\|\/|\.)+('|"| *|>)?

26
、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

27
、提取信息中的图片链接:(s|S)(r|R)(c|C) *=*('|")?(\w|\\|\/|\.)+('|"| *|>)?

28
、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

29
提取信息中的中国手机号码:(86)*0*13\d{9}

30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

31
、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

32
提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

34
、提取信息中的任何数字(-?\d*)(\.\d+)?

35
IP(\d+)\.(\d+)\.(\d+)\.(\d+)

36电话区号:/^0\d{2,3}$/

37腾讯QQ号:^[1-9]*[1-9][0-9]*$

38、帐号(字母开头,允许5-16字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$

39
、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值