正则表达式
发布时间:2020-12-14 06:13:09 所属栏目:百科 来源:网络整理
导读:一、定义 正则表达式是对字符串操作的一种逻辑公式,一般使用正则表达式对字符串进行匹配和过滤 正则表达式由普通字符和元字符组成 优点:灵活,功能性强,逻辑性强 缺点:上手难,一旦上手,会受上这个东西 工具:各大文本编辑器一般都有正则匹配功能。在线
一、定义
二、普通字符? ? 普通字符包含大小写字母、数字。在匹配普通字符时直接写就好。比如"abc"匹配的就是”abc” 三、元字符1. 字符组? ? 用[ ]括起来,在[ ]中出现的内容会被匹配。例如:[abc]匹配a或b或c
2. 简单元字符
3. 量词
四、贪婪匹配与惰匹配1. 贪婪匹配? ? 量词中的*,+,{}都属于贪婪匹配,就是尽可能多的匹配到结果 str:hello world reg: h.* 此时匹配的结果:hello world str:<div>hello</div> reg:<.*> 此时匹配的结果:<div>hello</div> ? 2. 惰性匹配? ? 在使用.*后面如果加了?则是尽可能的少匹配 str:hello world reg:h.*? 此时匹配的结果:h ? str:<div>hello</div> reg:<.*?> 此时匹配的结果: <div> </div> ? ?五、分组? ? 在正则中使用()进行分组。 ? ? 例如要匹配一个相对复杂的身份证号。身份证号分成两种。老的身份证号有15位,而新的身份证号有18位。并且新身份证号结尾可能是x 正则为:
^([1-9]d{16}[0-9x]|[1-9]d{14})$
六、转义? ? 在正则表达式中,有很多有特殊意义的元字符,比如n和s等。如果要在正则中匹配正常的"n"而不是换行就需要对""进行转义。 ? ? 同理,在python中,对于n,s等也是有特殊意义的,如果要得到"n"也需要对""进行转义,所以,如果需要匹配到字符串中n,在正则表达及python表达中需要写成如下表格形式。
表1? "n"转义 ? ? 此时可以利用r"n"不转义,即上表中python中正则表达可写为:r"n" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |