针对“常用的正则表达式实例整理”,我会从以下几个方面来详细讲解:
- 什么是正则表达式?
- 常用的正则表达式实例整理
- 示例说明
- 如何测试正则表达式的匹配效果?
什么是正则表达式?
正则表达式是用于模式匹配的一个工具,它可以在文本中搜索指定的模式并进行各种操作。使用正则表达式可以快速检索文本,替换文本中的一些特定内容,或者验证表单的输入等等。
常用的正则表达式实例整理
下面列出了一些常见的正则表达式实例:
- 匹配数字:
^\d+$
- 匹配邮箱:
^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+$
- 匹配网址:
^((http|https)://)?[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+([a-zA-Z0-9_-.,@?^=%&:/~+#]*[a-zA-Z0-9_-@?^=%&/~+#])?$
- 匹配 IP 地址:
^(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)$
- 匹配用户名:
^[a-zA-Z]\w{5,17}$
- 匹配手机号码:
^1([3456789])\d{9}$
- 匹配密码:
^[a-zA-Z]\w{5,17}$
- 匹配日期(1990-01-01 ~ 2022-12-31):
^(199\d|20[01]\d|202[0-2])-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
示例说明
以匹配数字为例,^\d+$
表示以数字开头,以数字结尾,中间包含任意个数字。其中,^
表示开头,\d
表示一个数字,+
表示出现一次或多次,$
表示结尾。
另外,以匹配手机号码为例,^1([3456789])\d{9}$
表示以“1”开头,第二位是3、4、5、6、7、8、9中的一个,后面接任意9位数字。其中,括号内的内容是一个分组,\d
表示一个数字,{9}
表示出现9次。
具体每个符号的含义可以参考 正则表达式常用符号及含义。
如何测试正则表达式的匹配效果?
可以使用在线工具或者编程语言提供的正则表达式相关函数来测试,下面以使用 JavaScript 的 match()
函数测试为例:
let str = "my phone number is 18888888888.";
let pattern = /^1([3456789])\d{9}$/;
console.log(str.match(pattern));
上述测试代码中,将正则表达式赋给 pattern
变量,使用 match()
函数测试 str
字符串是否符合 pattern
的要求,输出结果为 ["18888888888", "8", index: 20, input: "my phone number is 18888888888.", groups: undefined]
表示匹配成功,匹配到的字符串为 18888888888
,分组匹配到的字符串为 8
,匹配到的字符串位于 str
的第20个位置。可以通过 return 的值是否为 null 来判断匹配是否合法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:常用的正则表达式实例整理 - Python技术站