正则表达式总结

正则表达式总结

Scroll Down

简介

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

例如:

  • runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。
  • runoo*b,可以匹配 runob、runoob、runoooooob 等,***** 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
  • colou?r 可以匹配 color 或者 colour? 问号代表前面的字符最多只可以出现一次(0次或1次)。

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

使用语法

以上为正则表达式使用需要的知识储备,如果您有字符匹配的需要,请一定系统的学习正则表达式。

也因为正则表达式的语法庞杂,故而就不再过多赘言,若是有兴趣,请自主学习吧。

辅助工具

正则测试:regex101

初始界面是英文状态,但想必许多人都不大适应全英文状态,故而可以通过设置页面,将页面的英文切换回中文状态,如此便可以轻松的使用了。

对于正则测试而言,该站点无疑是一个十分实用的工具了,不仅仅有正则语法查询功能,也可以在你编写的过程中进行提示,同时也支持不同语言的使用使用测试,对于正则学习者和正则测试者而言,该站点无疑是一个正则使用神器了!

image-20220430092554663

image-20220430092430892

可视化测试:regex-vis

该站点一个最大的好处就是,可以将正则表达式以图形界面的形式呈现出来,同时当语法错误时便会报错,也是一个编写正则表达式的十分良好的方式。

对于需要理解他人编写的正则表达式而言,该工具无疑是一款可以帮助你快速理解他人正则表达式含义的工具。

同时,它不仅仅支持正则语法创建创建,也支持使用图形块创建正则语法。

示例代码:.+@(?!(qq|163|sina))(\w)+(\.)(\w)+ (用来过滤qq、163、sina邮箱的邮箱匹配表达)

image-20220430094027583