什么是正则校验
发布时间:2025-05-21 07:20:45 发布人:远客网络
一、什么是正则校验
1、正则校验:精准验证字符串规则的利器
2、正则校验,就像一把无形的尺子,用于严谨地检验输入的字符串是否遵循特定的模式或规则。它是一种强大的文本处理工具,特别在验证电子邮件地址、手机号码等格式化信息时发挥着关键作用。(正则表达式,简称regex或regexp,是编程和数据验证中不可或缺的组成部分)
3、想象一下,当你需要确认用户输入的邮箱地址是否符合标准格式:它必须包含@符号,后跟域名,而域名部分又必须包含至少一个点。正则校验就负责解析并确认这样的细节。而这一切的查找和验证,往往只需几行代码,效率极高且结果准确无误。(借助预编好的正则模式,开发者可以快速轻松地实现这些复杂验证)
4、这种校验并非遥不可及的专业知识,实际上,对于编程初学者和经验丰富的开发者来说,它都是日常工作中常会遇到的实用技能。在网上,你可以轻易找到大量的正则表达式教程和实例,帮助你快速上手并掌握这一技巧。(只需稍加搜索,你就能找到丰富的资源和教程,让你快速掌握正则校验的精髓)
5、总的来说,正则校验是一个简化繁杂文本检查、确保数据准确无误的重要工具,无论是验证用户输入,还是在自动化处理大量数据时,它都发挥着不可替代的作用。掌握正则校验,无疑能提升你的编程效率和数据处理能力。(正则校验,让你在数据世界中游刃有余,提升工作效率)
二、jmeter接口测试-15正则表达式关联
1、 meter中,接口自动化的关键在于参数关联。比如需要登录的接口,如何调用登录口令?一个增删改查的闭环,如何将接口参数上下传递?下面就以实际的例子来仔细说一说
2、这里有一个实际的登录接口,在响应中返回了一串token,如下图
3、那么我们在接下来的接口-经验库列表中,就必须带入这一串token,否则响应报错,如下图所示
4、如何获取登录的口令呢?这里详细说明一下,如图所示
5、观察请求头,发现传入了一串token,并且响应结果正确
6、自此,一个完整的登录关联就结束了。后续接口直接调用该token就可以。我们接下来继续说其它的参数关联
7、比如一个增删改查流程,想要做自动化检验就必须形成一个闭环,那么删除-修改-查看就必须调用同一个必填参数,例如唯一性的id。
8、先新增一个经验库,可以看到结果中返回了一个id,我在后续接口中都必须调用此唯一性的id
9、接下来写一个正则将其取出,注意与之前token正则的不同之处
10、后续接口可以调用此参数,并正确响应
11、好了,一个完整的登录-查看-删除的流程到这里就可以结束了
12、引用名称:定义一个变量,供后续请求引用
13、一般(.+?)和(.*?)能够满足我们80%的使用场景。所以,一般的正则表达式都可以写成下面这2种
14、正则表达式:利用正则将需要的数据提取出来
15、()括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来
16、模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来),则可以是等,表示提取第N个括号里面的值
17、匹配数字-****1****:表示取所有返回值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,后续还可以通过{XXX_2}来取第2个匹配的内容。
18、匹配数字0:表示随机取一个返回值
19、例3:表达式同时提取Name和population,并传出两个参数
三、求一条php做的正则表达式
1、PHP被大量的应用于Web的后台CGI开发,通常是在用户数据数据之后得出某种结果,但是如果用户输入的数据不正确,就会出现问题,比如说某人的生日是”2月30日”!那应该怎么样来检验暑假是否正确呢?在PHP中加入了正则表达式的支持,让我们可以十分方便的进行数据匹配。
2、简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。
3、在某个Linux网站上面有这样的话:”如果你问一下Linux爱好者最喜欢什么,他可能会回答正则表达式;如果你问他最害怕什么,除了繁琐的安装配置外他肯定会说正则表达式。”
4、正如上面说的,正则表达式看起来非常复杂,让人害怕,大多数的PHP初学者都会跳过这里,继续下面的学习,但是PHP中的正则表达式有着可以利用模式匹配找到符合条件的字符串、判断字符串是否合乎条件或者用指定的字符串来替代符合条件的字符串等强大的功能,不学实在太可惜了……
5、一个正则表达式,分为三个部分:分隔符,表达式和修饰符。
6、分隔符可以是除了特殊字符以外的任何字符(比如”/!”等等),常用的分隔符是”/”。表达式由一些特殊字符(特殊字符详见下面)和非特殊的字符串组成,比如”[a-z0-9_-]+@[a-z0-9_-.]+”可以匹配一个简单的电子邮件字符串。修饰符是用来开启或者关闭某种功能/模式。下面就是一个完整的正则表达式的例子:
7、上面的正则表达式”/”就是分隔符,两个”/”之间的就是表达式,第二个”/”后面的字符串”is”就是修饰符。
8、在表达式中如果含有分隔符,那么就需要使用转义符号”",比如”/hello.+?/hello/is”。转义符号除了用于分隔符外还可以执行特殊字符,全部由字母构成的特殊字符都需要”"来转义,比如”d”代表全体数字。
9、正则表达式中的特殊字符分为元字符、定位字符等等。
10、元字符是正则表达式中一类有特殊意义的字符,用来描述其前导字符(即元字符前面的字符)在被匹配的对象中出现的方式。元字符本身是一个个单一的字符,但是不同或者相同的元字符组合起来可以构成大的元字符。
11、大括号:大括号用来精确指定匹配元字符出现的次数,例如”/pre{1,5}/”表示匹配的对象可以是”pre”、”pree”、”preeeee”这样在”pr”后面出现1个到5个”e”的字符串。或者”/pre{,5}/”代表pre出现0此到5次之间。
12、加号:”+”字符用来匹配元字符前的字符出现一次或者多次。例如”/ac+/”表示被匹配的对象可以是”act”、”account”、”acccc”等在”a”后面出现一个或者多个”c”的字符串。”+”相当于”{1,}”。
13、星号:”*”字符用来匹配元字符前的字符出现零次或者多次。例如”/ac*/”表示被匹配的对象可以是”app”、”acp”、”accp”等在”a”后面出现零个或者多个”c”的字符串。”*”相当于”{0,}”。
14、问号:”?”字符用来匹配元字符前的字符出现零次或者1次。例如”/ac?/”表示匹配的对象可以是”a”、”acp”、”acwp”这样在”a”后面出现零个或者1个”c”的字符串。”?”在正则表达式中还有一个非常重要的作用,即”贪婪模式”。
15、还有两个很重要的特殊字符就是”[ ]“。他们可以匹配”[]“之中出现过的字符,比如”/[az]/”可以匹配单个字符”a”或者”z”;如果把上面的表达式改成这样”/[a-z]/”,就可以匹配任何单个小写字母,比如”a”、”b”等等。
16、如果在”[]“中出现了”^”,代表本表达式不匹配”[]“内出现的字符,比如”/[^a-z]/”不匹配任何小写字母!并且正则表达式给出了几种”[]“的默认值:
17、[:xdigit:]:匹配任何16进制数字
18、另外下面这些特殊字符在转义符号”"转义后代表的含义如下:
19、S:用于匹配除单个空格符之外的所有字符。
20、d:用于匹配从0到9的数字,相当于”/[0-9]/”。
21、w:用于匹配字母,数字或下划线字符,相当于”/[a-zA-Z0-9_]/”。
22、W:用于匹配所有与w不匹配的字符,相当于”/[^a-zA-Z0-9_]/”。
23、D:用于匹配任何非10进制的数字字符。
24、.:用于匹配除换行符之外的所有字符,如果经过修饰符”s”的修饰,”.”可以代表任意字符。
25、利用上面的特殊字符可以很方便的表达一些比较繁琐的模式匹配。例如”/d0000/”利用上面的正则表达式可以匹配万以上,十万一下的整数字符串。
26、定位字符是正则表达式中又一类非常重要的字符,它的主要作用是用于对字符在匹配对象中的位置进行描述。
27、^:表示匹配的模式出现在匹配对象的开头(和在”[]“里面不同)
28、$:表示匹配的模式出现在匹配对象的末尾
29、空格:表示匹配的模式出现在开始和结尾的两个边界之一
30、“/^he/”:可以匹配以”he”字符开头的字符串,比如hello、height等等;
31、“/he$/”:可以匹配以”he”字符结尾的字符串即she等;
32、“/ he/”:空格开头,和^的作用一样,匹配以he开头的字符串;
33、“/he/”:空格结束,和$的作用一样,匹配以he结尾的字符串;
34、“/^he$/”:表示只和字符串”he”匹配。
35、正则表达式除了可以用户匹配,还可以用括号”()”来记录需要的信息,储存起来,给后面的表达式读取。比如:
36、/^([a-zA-Z0-9_-]+)@([a-zA-Z0-9_-]+)(.[a-zA-Z0-9_-])$/
37、就是记录邮件地址的用户名,和邮件地址的服务器地址(形式为username@server.com之类的),在后面如果想要读取记录下来的字符串,只是需要用”转义符+记录的次序”来读取。比如”1〃就相当于第一个”[a-zA-Z0-9_-]+”,”2〃相当于第二个([a-zA-Z0-9_-]+),”3〃就是第三个(.[a-zA-Z0-9_-])。但是在PHP中,”"是一个特殊的字符,需要转义,所以”"到了PHP的表达式中就应该写成”1〃。
38、“|”:或符号”|”和PHP里面的或一样,不过是一个”|”,而不是PHP的两个”||”!意思就是可以是某个字符或者另一个字符串,比如”/abcd|dcba/”可能匹配”abcd”或者”dcba”。
39、前面在元字符中提到过”?”还有一个重要的作用,即”贪婪模式”,什么是