美文网首页
正则匹配的妙用-匹配重复子串

正则匹配的妙用-匹配重复子串

作者: NJingZYuan | 来源:发表于2021-03-21 16:19 被阅读0次
问题:要求密码不能有相同长度大于2的子串重复,验证密码的有效性。

思路:使用正则表达式匹配目标字符串,匹配是否存在重复的子串,如果匹配结果不为空,即不合格。

用到了 1.正则表达式的分组匹配;2.引用分组匹配匹配到的字符串的 知识。

代码:

import re

password_str = "abcef123abc"

ret = re.findall(r"(.{3,}).*\1", password_str)

>>>print(ret)
['abc']

说明:
1)(.{3,}):括号中的字符被正则表达式视为一个分组,即分组匹配,题解代表任意字符出现3次以上作为一个分组;
2)\num:即为引用子模式num匹配到的字符串;num为子模式的编号. (分组匹配也可称为子模式匹配)。子模式编号:整个正则表达式作为一个模式编号为“0”,其余子模式从左至右从 1 - 99 依次编号,最大编号为99;
3).* : 代表任意字符出现0次或多次,因为相同子串可能相连也可能被其他字符割开;
连起来就是:匹配任意字符组成的长度至少为3的字符子串出现2次的结果。也就可实现“不能有相同长度大于2的子串重复”密码的验证。

相关文章

  • 正则匹配的妙用-匹配重复子串

    问题:要求密码不能有相同长度大于2的子串重复,验证密码的有效性。 思路:使用正则表达式匹配目标字符串,匹配是否存在...

  • 正则表达式

    创建正则表达式 正则.test(字符串) 正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假 转义字符 ...

  • 正则表达式

    创建正则表达式 正则.test(字符串) 正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假 转义字符 ...

  • 正则位置匹配

    正则表达式要么匹配字符,要么匹配位置。 一、字符串的位置 二、正则表达式如何匹配位置 1、es5中匹配位置的正则:...

  • Python之路13:

    re 模块,正则匹配表达式 正则匹配表达式就是字符串的匹配规则 re 模块的匹配语法: re.match 从头开始...

  • Nginx if location 指令部分应用场景使用说明

    location 指令 只有正则匹配( ~ 和 ~* )才能使用正则子串 前缀匹配(^~ )不能识别正则表达式 ,...

  • Python基础(15)——正则表达式

    re.match() re.match(正则表达式,要匹配的字符串),匹配出以字符串的起始位置开始匹配正则表达式,...

  • 提取匹配内容

    正则表达式匹配字符串并提取正则匹配的内容 this.([a-zA-z]+) = 1 代表第一个括号内匹配的字符串

  • Linux学习-Shell编程-正则表达式与通配符

    正则: 匹配文件中字符串 ,正则是包含匹配通配符: 匹配文件名,通配符是完全匹配image.png 前一个字符...

  • 匹配html文本中style、link、script的正则表达式

    对于一段html文本字符串,如下,如何匹配出其中的资源: 匹配正则表达式写法。 其中脚本匹配需要正则,无法匹配内容...

网友评论

      本文标题:正则匹配的妙用-匹配重复子串

      本文链接:https://www.haomeiwen.com/subject/mkzncltx.html