常用正则表达式

1. 匹配数字(包括+-,正数,负数,小数及小数点等)

(+?(\d+|\.\d+|\d+\.\d+)) | (-?(\d+|\d+\.\d+))

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

2. 精确匹配超连接
<a(?=\s)[^>]*(?<=\s)href\s*=\s*[\"']?([^\"'\s]+)[\"']?[^>]*>([\s\S]+?)</a>


经验:
1. 正则表达式中不能匹配,最简单的可用排除型字符组表示,但它只能表示”某个字符不能出现”,如果要表示“某个字符串不能出现”, 一般都要用到否定环视(左边有什么或右边有什么,左边不能有什么或右边不能有什么,通常那些字符自身是不能被匹配的)

2. 断言包括单词边界,行起始/结束位置,环视(断言算是一种结构,它不真正匹配文本,而只负责左/右侧的文本是否符合要求),javascript不支持逆序环视

3. 小括号()和中括号[]都可以用作分支结构,但中括号只能匹配单个字符如[0-3],[abc],而小括号可以表示多个了符(aa|bb|cc)

4. 量词后用?表示忽略优先量词(非贪婪模式)。贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配

5. 正则表达式包括提取和验证,验证时,一般要求开头和结尾都满足要求,我们常用的^和$,是不能匹配换行符\n和多行模式的,使用\A和\z会更加准确。由于验证操作一般都会有明确的验证规则,将这些验证规则叠加即可,而提取操作不一定会给出关于要提取文本的严格描述,所以一般处理是先找到最明显的特征,再慢慢完善

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值