网站开发路径,正规专业的网站建设公,网站统计查询,网络推广内容策划文章目录 发现宝藏前言1. 正则表达式的定义2. 常见的正则表达式字符3. 经典示例3.1 匹配电子邮件地址3.2 匹配URL3.3 匹配日期3.4 匹配IP地址3.5 匹配HTML标签3.6 匹配电话号码3.7 匹配用户名 发现宝藏
前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0… 文章目录 发现宝藏前言1. 正则表达式的定义2. 常见的正则表达式字符3. 经典示例3.1 匹配电子邮件地址3.2 匹配URL3.3 匹配日期3.4 匹配IP地址3.5 匹配HTML标签3.6 匹配电话号码3.7 匹配用户名 发现宝藏
前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。【宝藏入口】。
前言
为了巩固所学的知识作者尝试着开始发布一些学习笔记类的博客方便日后回顾。当然如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚文章中如果有记录错误欢迎读者朋友们批评指正。 博客的参考源码可以在我主页的资源里找到如果在学习的过程中有什么疑问欢迎大家在评论区向我提出
1. 正则表达式的定义
正则表达式Regular Expression简称Regex或RegExp是一种用于描述字符串匹配规则的表达式。它是由普通字符例如字母、数字和特殊字符称为元字符组成的文本模式。正则表达式在文本处理、搜索和替换等操作中被广泛使用提供了一种灵活、强大的方式来描述和匹配字符串的模式。
正则表达式的应用涵盖了多个领域包括文本搜索、替换、数据验证、语法分析等。在编程中常常使用正则表达式来进行字符串的模式匹配和处理。各种编程语言如Java、Python、JavaScript等都提供了对正则表达式的支持使开发者能够更方便地利用这一强大的工具。
2. 常见的正则表达式字符
正则表达式的基本元素包括普通字符和元字符。普通字符表示它们自身而元字符具有特殊含义用于表示一类字符或字符的数量。
常见的正则表达式元字符包括
元字符描述示例正则表达式示例匹配字符串.匹配任意单个字符除了换行‘a.b’“aab”, “a1b”^匹配字符串的开头‘^abc’“abcdef”, “abc123”$匹配字符串的结尾‘xyz$’“123xyz”, “abcxyz”*匹配前一个字符零次或多次’ a*b ’“b”, “aaab”匹配前一个字符一次或多次’ cd ’“cd”, “cccd”?匹配前一个字符零次或一次e?f ’“ef”, “f”[]字符类匹配其中任意一个字符‘[aeiou]’“a”, “e”, “o”[^]排除字符类匹配非其中字符‘[^0-9]’“abc”, “$%”\ |选择匹配两者之一‘cat \ |dog’“cat”, “dog”()分组将多个模式组合为一个整体‘(ab)’“ab”, “abab”\转义字符取消元字符的特殊含义‘\ .’“abc.def”, “123.45”\d匹配任意数字‘\d{3}’“123”, “456”\D匹配任意非数字字符‘\D{2}’“ab”, “$%”\w匹配任意字母、数字或下划线‘\w’“abc123”, “word_word”\W匹配任意非字母、数字或下划线‘\W{3}’“$%#”, “123!”\s匹配任意空白字符空格、制表符等’ \s ’ , “\t”\S匹配任意非空白字符‘\S’“word”, “123!”
3. 经典示例
3.1 匹配电子邮件地址
1. 正则表达式示例
\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Za-z]{2,}\b2. 解析
\b : 匹配单词边界[A-Za-z0-9._%-] : 匹配用户名部分可以包含字母、数字、点、下划线、百分比、加号和减号 : 匹配 “” 符号[A-Za-z0-9.-] : 匹配域名部分可以包含字母、数字、点和减号\. : 匹配域名和顶级域之间的点[A-Za-z]{2,} : 匹配顶级域至少包含两个字母\b : 匹配单词边界
3.2 匹配URL
1. 正则表达式示例
^(https?|ftp):\/\/[^\s\/$.?#].[^\s]*$2. 解析
^ : 匹配字符串的开头(https?|ftp) : 匹配 “http”、“https” 或 “ftp”:\ / \ / : 匹配 : / / 部分[^\s\/$.?#]* : 匹配域名不包含空格、斜杠、点、问号和井号(\/[^\s]*)? : 匹配可选的路径部分以斜杠开头后面可以包含字母、数字和其他字符但不能包含空格$ : 匹配字符串的结尾
3.3 匹配日期
1. 正则表达式示例
\b\d{4}[-/]\d{1,2}[-/]\d{1,2}\b2. 解析
\b : 匹配单词边界\d{4} : 匹配四个数字表示年份[-/] : 匹配日期部分的分隔符可以是短横线或斜杠\d{1,2} : 匹配一到两个数字表示月份和日期\b : 匹配单词边界
3.4 匹配IP地址
1. 正则表达式示例
\b(?:\d{1,3}\.){3}\d{1,3}\b2. 解析
\b : 匹配单词边界(?:\d{1,3}\.){3} : 非捕获分组匹配三次数字和点的组合用于匹配前三个IP地址部分\d{1,3} : 匹配IP地址的最后一部分可以是一个到三个数字\b : 匹配单词边界
3.5 匹配HTML标签
1. 正则表达式示例
lt;([^]*|[^]*|[^gt;])*gt; 2. 解析
lt; : 匹配HTML标签的开始([^]*|[^]*|[^])* : 匹配HTML标签内的内容可以是双引号中的任意字符、单引号中的任意字符或者除了单引号、双引号和大于号之外的任意字符gt; : 匹配HTML标签的结束
3.6 匹配电话号码
1. 正则表达式示例
\b\d{3}[-.]?\d{3}[-.]?\d{4}\b2. 解析
\b : 匹配单词边界\d{3}[-.]? : 匹配三个数字后面可以跟一个可选的短横线或点\d{3}[-.]? : 再次匹配三个数字后面可以跟一个可选的短横线或点\d{4} : 最后匹配四个数字\b : 匹配单词边界
3.7 匹配用户名
1. 正则表达式示例
^[a-zA-Z0-9_-]{3,16}$2. 解析
^ : 匹配字符串的开头[a-zA-Z0-9_-]{3,16} : 匹配用户名可以包含字母、数字、下划线和短横线长度为3到16个字符$ : 匹配字符串的结尾