首页 > 其他分享 >正则表达式

正则表达式

时间:2023-11-28 23:55:43浏览次数:29  
标签:字符 量词 匹配 正则表达式 zA 规则 字符串

一,正则表达式
  特点,贪婪匹配,它会在允许的范围内取最长的结果。
在应用方面只和字符串打交道。具体应用途径:
1.把一个文件中所有的手机号码都找出来,需要从大段的文字中找到符合规则的内容 # open打开文件
    # 读文件 str
# 从一长串的字符串中找到所有的11位数字
# 一个字符一个字符的读
2.输入手机号
# 验证这个手机号是否合法
# 给这个手机号发送一个验证码
# 用户收到验证码 填写验证码
# 完成注册

# 正则表达式
# 从大段的文字中找到符合规则的内容
# 爬虫 从网页的字符串中获取你想要的数据
# 日志分析 提取 2018-8-12 10:---- 花的所有钱
# 什么是日志 :
# 2018-8-12 10:00:00 楼下早点摊 3.00
# 判断某个字符串是否完全符合规则
# 表单验证 : 手机号 qq号码 邮箱 银行卡 身份证号 密码
二,字符组
[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[a-zA-Z] 匹配大小写字母
[a-zA-Z0-9] 匹配大小写字母+数字
[a-zA-Z0-9_] 匹配数字字母下滑线
 

 

 

 

 

 

 

 

 

 

三,元字符

\w  匹配数字字母下滑线(等于[a-zA-Z0-9_])
 \d 匹配所有的数字(等于[0-9])
\s 

匹配所有的空白符(等于回车/换行符 制表符 空格   space  [\n\t ])

# 匹配换行符 回车 \n
# 匹配制表符 tab \t
# 匹配空格

\W \D \S 和\w \d \s取反

# [\s\S] [\d\D] [\w\W]是三组全集 意思是匹配所有字符

 \b  表示单词的边界
   总结为:\w \d \s(\n\t) \b \W \D \S
 ^  匹配一个字符串的开始
 $  匹配一个字符串的结束
 .   表示匹配除换行符之外的所有字符
  []  只要出现在中括号内的内容都可以被匹配
[^]   只要不出现在中括号中的内容都可以被匹配(有一些有特殊意义的元字符进入字符组中会回复它本来的意义 : . | [ ] ( ))
 a|b

 或  符合a规则的或者b规则的都可以被匹配

# 如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面
# 将更复杂的\更长的规则写在最前面

 ()   分组  表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三,量词

{n} 表示 这个量词之前的字符出现n次
{n,}  表示这个量词之前的字符至少出现n次
{n,m} 表示这个量词之前的字符出现n-m次
? 表示匹配量词之前的字符出现 0次 或者 1次 表示可有可无
+ 表示匹配量词之前的字符出现 1次 或者 多次
* 表示匹配量词之前的字符出现 0次 或者 多次

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   
正则 待匹配字符   匹配结果 说明 
 李      
       
       
       

 

 

 

 

 

 

 

 

 

 

 

 

 总结:

 

标签:字符,量词,匹配,正则表达式,zA,规则,字符串
From: https://www.cnblogs.com/zuishaui/p/17863493.html

相关文章

  • 正则表达式match函数的使用
    #正则表达式的作用,例如:判断登录名是否几位数,是都由数字字母组成等等#元字符:具有特殊意义的专用字符,例如:‘^'和'$',分别表示匹配开始和结束。#限定符:用于限定匹配的次数#其他符#re模块在Python中使用正则表达式操作#re函数的几种格式#re.match(pattern,string,flags=0):用于......
  • python正则表达式
    一、问题:对返回的非json结果如何拿到里面想要的那部分内容 二、回答可以通过正则表达式获取:findall.*匹配0~n个内容.+起码匹配1个()分组如对xml结果的数据进行处理,代码如下所示:1deftestPostXml():2'''3xml数据4:return:5'''......
  • 正则表达式与文本三剑客——grep awk sed
    正则表达式shell:/bin/bash正则表达式:匹配的是文章中的字符通配符:匹配的是文件名?任意单个字符元字符:不表示本来的含义,在正则表达式中有特殊含义的字符正则表达式元字符的使用:自己写很容易,读取别人的很困难正则表达式想用好:记忆元字符的含义多用正则表达式分为:......
  • python re 正则表达式 match search . *
    在Python的re库中,re.match()和re.search()都是用来查找字符串中是否包含符合正则表达式的部分。但是,它们的工作方式有一些重要的区别:re.match()函数只检查字符串的开始部分是否符合正则表达式。如果字符串的开始部分符合正则表达式,re.match()函数就会返回一个匹配对象;否则,它会返回N......
  • 正则表达式RE
    1.正则表达式(regularexpression,RE)是一种字符模式,用于在查找过程中匹配指定的字符。2.在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式,它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,#元字符是最重要的概念。#正则......
  • python 正则表达式
    一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、......
  • 如何写出高效率的正则表达式
    如果纯粹是为了挑战自己的正则水平,用来实现一些特效(例如使用正则表达式计算质数、解线性方程),效率不是问题;如果所写的正则表达式只是为了满足一两次、几十次的运行,优化与否区别也不太大。但是,如果所写的正则表达式会百万次、千万次地运行,效率就是很大的问题了。我这里总结了几条提升......
  • 常用正则表达式
    正文:MDN正则参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions我的正则笔记:https://www.yuque.com/docs/share/36f69420-115f-4e01-b897-550d94b404ab?#《正则》千分位表示价格1.针对正数、负数,整数,浮点数都可以(IE不支持,会出现错......
  • Java正则表达式从入门到精通​
    Java正则表达式从入门到精通JAVA正则表达式规则Java中的正则表达式规则,在java.util.regex.Pattern类文档中有详细说明。字符类匹配符(只匹配一个字符)规则字符说明[abc]匹配a,b或c中的任意一个字符[^abc]除a,b或c之外的任意一个字符(取反)[a-zA-Z]包含在a到z或A到Z范围内的任意一个字符(......
  • 正则表达式
    正则表达式RE正则表达式(regularexpression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。元字符元字符是这样一类字符,他们表达的是不同于字面本身的含义shell元字符(也称通配符) 由sh......