断言

也称先行断言和后行断言为环视或预搜索!

先行断言和后行断言只有一个区别:

即先行断言往右看(限制后面字符),后行断言往左看(限制后面字符)

先行断言和后行断言总共有四种:

  1. 正向先行断言

  2. 反向先行断言

  3. 正向后行断言

  4. 反向后行断言

正向先行断言

正向先行断言:(?=表达式)指在某个字符右侧必须能匹配表达式例如:A(?=B)A字符右侧必须要有B

操作举例:待操作字符串:我喜欢你 我喜欢 我喜欢我 喜欢 喜欢你要求取出:'喜欢'后面有'你'正则表达式写作:喜欢(?=你)

(?=.*?[a-z])(?=.*?[A-Z]).+

正则表达式规定匹配的字符串中大写和小写字母都要有

密码强度验证

使用正则表达式进行密码强度的验证,规则如下:

  • 至少一个大写字母

  • 至少一个小写字母

  • 至少一个数字

  • 至少8个字符

至少一个大写字母的正则:(?=.*?[A-Z])

至少一个小写字母的正则:(?=.*?[a-z])

至少一个数字的正则:(?=.*?[0-9])

至少8个字符的正则:.{8,}

反向先行断言

反向先行断言(?!表达式)

匹配字符右边不能出现某字符。

例如字符串:

我喜欢你 我喜欢 我喜欢我 喜欢 喜欢你

要求取出'喜欢'后面没有'你',正则表达式写作:喜欢(?!你)这

使用正则表达式排除邮箱,目的:匹配不是qq邮箱的数据。

匹配p标签之外的标签:

正向后行断言

正向后行断言:(?<=表达式)

指在匹配字符向左看,左侧必须能匹配表达式

例如:如果要取出喜欢两个字,要求喜欢的前面有我,后面有你

正则表达式写作:(?<=我)喜欢(?=你)

匹配王姓同学的名字

使用正则表达式匹配王姓同学的名字:(?<=王)\S+

反向后行断言

反向后行断言:(?

指在某个字符左侧不能匹配表达式

* 注意:反向后行断言并不被所有浏览器支持

例如:要求'喜欢'的前面没有'我',后面没有'你'

正则表达式写作:(?

匹配一下$开始$结束的字符串

要匹配 $ 符号记得加上转义符 \

(?

\$:开始的那个$符号

[^\$]+:中间多个字符不是$

\$:结束的那个$符号

(?!\$):结束的后面不能有$符号

匹配所有两个$符号中的数据

(?

\$\$:开始的那个$$符号

[^\$]+:中间多个字符不是$

\$\$:结束的那个$$符号

(?!\$):结束的后面不能有$符号

实践:提取所有人的生日

实践:匹配所有的小数

正则邮箱_正则表达式再进级相关推荐

  1. input正则邮箱_常用正则表达式—邮箱(Email)

    常用正则表达式-邮箱(Email) 本文针对有一点正则基础的同学,如果你对正则一无所知,请移步"正则表达式30分钟入门教程"学习. 要验证一个字符串是否为邮箱的话,首先要了解邮箱账 ...

  2. 正则邮箱_自己写一个通用的邮箱正则表达式

    今天把正则又复习了一遍,为了加深记忆,自己写一个邮箱的正则表达式 咱们先来看几个合法的邮箱地址 hd33322@nat123.com maksim.kim.82@d-link.ua vova_laza ...

  3. 低通滤波器转带通滤波器公式由来_开关电源电磁兼容进级EMI传导输入滤波器的设计理论(EDTEST上海)...

    在刚刚结束的EDTEST-上海站:开关电源电磁兼容进级优化设计:对于有开关电源的产品及控制系统:其输入EMI低通滤波器放置在输入端对系统的EMS设计也是非常关键的! 再补充详解一下:我讲的开关电源系统 ...

  4. 感量越大抑制频率约低_开关电源电磁兼容进级-EMI传导输入滤波器的设计理论(ED-TEST上海)...

    在刚刚结束的EDTEST-上海站:开关电源电磁兼容进级优化设计:对于有开关电源的产品及控制系统:其输入EMI低通滤波器放置在输入端对系统的EMS设计也是非常关键的! 再补充详解一下:我讲的开关电源系统 ...

  5. input正则邮箱_用正则表达式匹配邮箱地址

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. input正则邮箱_用正则表达式进行简单的邮箱校验

    先说一波正则表达式的元字符: d               表示数字 w               表示数字,字母和下划线 s               表示空格和制表符 D           ...

  7. input正则邮箱_邮箱的正则表达式验证

    // 邮箱 var emailValue=document.myform.userEmail.value; if(emailValue.indexOf("@")==-1) { al ...

  8. js 正则 或者_正则表达式

         正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本,比如爬虫工程师可以用正则表达式来匹配网页上的文本 ...

  9. java 正则匹配_正则表达式真的很强大,可惜你不会写

    专注于Java领域优质技术,欢迎关注 本文旨在用最通俗的语言讲述最枯燥的基本知识 文章提纲: 元字符 重复限定符 分组 转义 条件或 区间 正则表达式在几乎所有语言中都可以使用,无论是前端的JavaS ...

最新文章

  1. arm64的适配问题,这次真醉了
  2. 中国移动与清华大学达成战略合作,将共同研究6G
  3. 【初学】python执行系统命令四种方法比较
  4. 局域网无法访问共享新方法
  5. 超强免费OCR文字识别工具推荐
  6. 老婆怀孕记录以及如何照顾老婆总结
  7. prewitt算子实现
  8. ViewPager报UnsupportedOperationException: Required method instantiateItem was not overridden错误
  9. new QPushbutton 时程序崩溃
  10. c++学习笔记-------《c++自学通》第六章 基本类
  11. Agens Graph常用语法总结
  12. 有趣的数学结论(未完待续)
  13. Dynamics CRM: 权限问题之SecLib::AccessCheckEx2 failed
  14. Android股票app模拟同花顺,适合练手的Android项目
  15. @18. 自幂数、水仙花数、四叶玫瑰数等等是什么?
  16. 陆源:阿贝尔对椭圆函数论的贡献[附椭圆函数、模形式(g_2,g_3)、模函数的C++程序计算]
  17. jquery+ajax实现分页功能
  18. L1-079 天梯赛的善良 (20 分)——java语言
  19. 嵌入式STM32F767BGT6规格STM32F767BIT6引脚图 32Bit MCU+FPU
  20. 山城有朵火热的云……

热门文章

  1. x86_64的debian(wheezy)下使用qemu和busybox运行linux
  2. 找不到可安装的ISAM
  3. 修复 www.shouyela.com 造成的 IE 问题
  4. Android 串口开发
  5. 关于YUV格式的一些总结
  6. python进程池和线程池_python自带的进程池及线程池
  7. python 列表 extend append_Python中list操作之append、extend
  8. 电脑cpu温度过高怎么办_解决电脑主板CPU温度过高,COC机箱提升电脑健康指数
  9. Android8.1 Camera2+HAL3之HIDL open()流程(二十)
  10. C++ String16与const char*及char*与vector相互转换