【实用主义】正则表达式常见实例匹配

编程探索课程 2024-04-28 03:13:07

正则表达式在软件开发中有许多常见应用,以下是一些典型的应用场景以及相应的示例:

keep coding

数据验证:

在表单提交或数据输入时,可以使用正则表达式来验证输入的数据是否符合要求,比如邮箱、电话号码、身份证号码等格式的验证。

示例:验证邮箱地址

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

文本搜索和替换:

在代码编辑器或文本编辑器中,可以使用正则表达式进行搜索和替换,批量编辑文本内容。比如可以将文本中的特定格式的日期字符串统一替换成另一种格式。

logo

示例:匹配日期格式并替换

(\d{4})-(\d{2})-(\d{2}) -> $2/$3/$1

数据提取:

从字符串中提取需要的信息,比如从日志中提取特定格式的时间戳、从 HTML 中提取链接等。

示例:提取URL中的域名

https?://([^/?#]+)

代码分析:

在编程中,正则表达式可以用于代码分析、解析和处理,比如从代码中提取特定格式的注释信息、解析配置文件等。

示例:匹配Java注释

/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/

URL路由和参数匹配:

在Web开发中,常常需要根据URL进行路由和参数解析,可以使用正则表达式来匹配URL和提取参数。

URL

示例:提取URL中的参数

\?([^=]+)=([^&]+)&?

日志处理:

在日志分析和处理中,可以使用正则表达式来提取特定格式的日志信息、过滤特定条件的日志等。

日志分析

示例:匹配IP地址

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

这些都是正则表达式在开发中常见的应用场景,正则表达式的灵活性和强大功能使得它成为开发过程中不可或缺的工具之一。然而,在实际使用中,需要注意正则表达式的复杂性和匹配性能,避免过度依赖正则表达式导致代码可读性差和性能问题。

1、身份证号^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$2、港澳居民来往内地通行证^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$3、微信号^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$4、弱密码^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 大小写字母+数字 组合 长度在 8-10 之间。^[0-9a-zA-Z\u4E00-\uFA29]*$ 数字字母中文5、强密码^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$ 最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符。(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*(.)\1{2})^.{8,16}$ 相同字符不能出现3次,至少8个,至多16个字符组成,包含一个小写字母,一个大写字母,和一个数字6、日期(YYYY-MM-DD 格式)^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[01])$7、手机号^1[34578]\d{9}$8、32位MD5^[a-f0-9]{32}$

未完待续,喜欢的点个关注 谢谢。

创作不易 点个关注 谢谢

0 阅读:0

编程探索课程

简介:感谢大家的关注