正则表达式入门

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

下面是我自己学习的一些总结。这个真的有毒,前段时间学的,最近过年好久没碰又忘了,想想还是写一篇笔记记录一下

练习网站:https://tool.oschina.net/regex

元字符

. 匹配除换行符外的任意字符

\w 匹配字母数字下划线中文

\s 匹配空格

\d 匹配数字

\b 匹配单词的开始或结束

^ 匹配字符串的开始

$ 匹配字符串的结束

上段代码

s ="2222efr43243dsfg4r)_+"

reg1 ="\d"  # 匹配全部数字

reg2 ="^\d"  # 匹配开头的数字

print(re.findall(reg2, s))

匹配以a开头的字母:\ba\w*\b

匹配刚好6个字母的单词:\b\w{6}\b

匹配1个或多个数字:\d+

匹配5-12位数字:^\d{5,12}$

反义字符:

说白了就是元字符反过来就好了,可以一起记

. 匹配除换行符外的任意字符

\W 匹配非字母数字下划线中文

\S 匹配非空格

\D 匹配非数字

限定符

* 重复0次到多次

+ 重复1次到多次

? 重复0次到多次

{n} 重复n次

{n,} 重复n次到多次

{m,n} 重复m次到n次

分组匹配

这里用关键词group来进行分组

1,search:search返回的是一个匹配对象 ,调用对象的group方法获得字符串

s ="my qq is 189334423,my post code is 33332"

reg4 ="(\d{9}.*(\d{5}))"

print(re.search(reg4, s))

# group里面为空或者为1,返回的结果是一样的

print(re.search(reg4, s).group())

print(re.search(reg4, s).group(1))

print(re.search(reg4, s).group(2))

2, match:匹配开头

s ="hellohello"

reg5 ="hello"

print(re.match(reg5, s,re.I).group())


总结:

findall 匹配所有

match 匹配开头(必须出现在字符串第一个位置)

search 匹配第一个(可以出现任意位置,只要是第一个就好)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容