首页 > 网名 正文
(qq名字后面有个数字)qq名字后面的图标大全…

时间:2023-06-09 作者:佚名

大家好,我是公众号3分钟学堂的郭立员~

这是一篇关于正则匹配的教程,但是只针对手机号、邮箱这类的提取,并且会把它们封装成函数,可以方便使用。

先来举个例子,我写一句话:"我的手机号:",然后想要里面的手机号码,该怎么弄呢?看看下面的代码:

Import "; Dim str="我的手机号:" Dim arr=(str,"%d+") TracePrint arr(0)

这是一个正则匹配数字的例子,正则表达式是%d+,这个表达式由2个部分组成%d和+

%d:代表数字(1个)

+:粗浅的理解是个“数量词”,代表多个

%d+是两者结合在一起,意思是匹配多个数字在一起的组合,需要注意+是在%d后面哦,和我们说话的语法顺序是不太一样的。

接着讲例子,如果把那句话变得复杂点又会怎样?

"我有1张手机卡,号码是"

内容稍微改变了一下,看看刚刚的代码是否还能提取。

好神奇,提取的数字不再是手机号码,而是数字1,号码去哪了,改一下代码:

原来手机号码在数组下标为1的里面,这说明正则匹配结果是把所有符合表达式的结果都匹配出来,然后存入到数组中,如果匹配的表达式足够精准,只有一个符合要求的结果,那么结果的数组下标就是0。

还拿手机号码为例,怎么才能匹配的足够精准,手机号码的特点是连续的11位数字,那么就写11个%d

Import "; Dim str="我有1张手机卡,号码是" Dim arr=(str,"%d%d%d%d%d%d%d%d%d%d%d") TracePrint arr(0)

这样一来,匹配结果只有手机号了,可能有人会说连着写11个%d太麻烦了,有没有简写的方法,我的回答是没有。

我查过lua的正则匹配规则,按键正则是基于lua的,不支持类似%d{11}的写法,如果想精准匹配,就是写多个%d。

对于手机号还好说,如果是QQ号呢,它的位数不是固定的,最低有5位的,最高有10位的,那怎么匹配?

还是看个例子:"我有2个QQ号,分别是453485278和4832326"这么一句话,提取里面的QQ号码。

先用%d+把所有的数字都匹配出来:

Import "; Dim str="我有2个QQ号,分别是453485278和4832326" Dim arr=(str,"%d+") For i = 0 To UBOUND(arr) TracePrint arr(i) Next

对于我们来说里面是有不想要的结果,所以要加条件判断,还记得刚刚我说的QQ号的位数范围是5-10位,那么我们把结果在这个范围之外的都去掉。

Import "; Dim str="我有2个QQ号,分别是453485278和4832326" Dim arr=(str,"%d+") For i = 0 To UBOUND(arr) If 5 <= Len(arr(i)) <= 10 Then TracePrint arr(i) End If Next

为了方便后期使用,我还是把处理后的结果写入到一个数组中。

Import "; Dim str="我有2个QQ号,分别是453485278和4832326" Dim arr=(str,"%d+") Dim arrnew(),n=0 For i = 0 To UBOUND(arr) If 5 <= Len(arr(i)) <= 10 Then TracePrint arr(i) arrnew(n) = arr(i) n=n+1 End If Next TracePrint join(arrnew,",")

进一步优化,就是封装成函数了:

Import "; Dim str="我有2个QQ号,分别是453485278和4832326" Dim arr=getQQ(str,5,10) TracePrint join(arr,",") Function getQQ(str,min,max) Dim arr=(str,"%d+") Dim arrnew(),n=0 For i = 0 To UBOUND(arr) If min <= Len(arr(i)) <= max Then arrnew(n) = arr(i) n=n+1 End If Next getQQ=arrnew End Function

除了数字、还有其他的也可以,比如字母,如匹配邮箱等,详细正则可以查看这篇文章:

《提取你想要的内容(正则匹配的简单介绍)》

好了内容就这些,觉得还行帮忙给文章点个赞。

=正文完=

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/wangming/1060751.html

  • 相关阅读

    qq关于星星名字、电脑qq名字后面有个星星?

    qq关于星星名字,电脑qq名字后面有个星星,qq星星挂件叫什么名字相关介绍,一吃就胖小芝宇 一条小己酉 东风谷平凡 东风巧曼 应龙皓轩 一只芬菲呀 艺茹公子 仲夏光纬 香风雨路 嘉胜来了 梦蕊君 水岚mio 千斤尔阳 猫巷少女流婉 活人小江 是你的爱琴呀 天神院梓菱 玄虚凝丹

    [电脑qq空间名字]电脑qq名字后面有个星星?

    电脑qq空间名字,电脑qq名字后面有个星星,电脑qq空间名字怎么改相关介绍,突然想起了15年前,每天都费尽心思的去qq空间,上传左挑右捡的相片,那个时候手机还不是现在的智能手机,能拍个像素很高照片就是顶流了。那个年代最流行的是数码相机,拍完照还能看回放,觉得不好看再删除,重新

    (qq名字怎么改星星)电脑qq名字后面有个星星…

    qq名字怎么改星星,电脑qq名字后面有个星星,qq名字旁边的星星相关介绍,用户激励体系到底应该怎么落地,应该怎么执行?这篇文章,想和大家聊聊用户激励体系的“术”。 一、用户激励体系的原因及整体思路是啥? 设计激励体系,一方面是为了提升用户活跃,增加留存,粘住用户,另一方面也

    qq名字后面有猫爪、qq名字后面有个耳朵

    qq名字后面有猫爪,qq名字后面有个耳朵,qq好友名字后面有个爱心相关介绍,本期【媒介360案例打榜】涉及的还有:海底捞卖奶茶;华为拍“心里话,影像说”短片;网易云音乐卖内衣等。 究竟哪个案例在你心中是最佳?欢迎在文末和我们留言互动哦~ 01星巴克 [盛夏甜心系列星杯] 前不

    『qq名字后面带刀』qq名字后面的图标大全

    qq名字后面带刀,qq名字后面的图标大全,qq名字后面的小手怎么出来相关介绍,女儿被男同学伤了眼部,爸爸心生怨气带水果刀进入女儿就读学校报复,并将这位年仅十岁的男孩杀害。 9月21日晚间,浙江瑞安警方通报了这起发生在隆山实验小学的“小学男生被女同学父亲杀害案”。 9月23日,死

    “qq名字后面加黄勾“电脑qq名字后面有个星星?

    qq名字后面加黄勾,电脑qq名字后面有个星星,qq名字后面加喵相关介绍,12月24日,福州中院开庭审理吴谢宇案。 检方指控,2015年7月10日,吴谢宇在家中将母亲杀害。作案后,吴谢宇谎称母亲出国陪同其交流学习,骗取亲友144万元钱款予以挥霍。为逃避抓捕,他还购买了10余

    QQ名字后面要有个姑、电脑qq名字后面有个星星

    QQ名字后面要有个姑,电脑qq名字后面有个星星,qq名字后面有个耳朵相关介绍,封面新闻记者 黄勇 在南阳郡堵阳县的韩姓中,韩盛家族值得一说。 韩盛的五世祖韩远,迁徙到渭南。 曾祖韩良,被举荐为秀才,历任奉朝请、姑臧县县令。 祖父韩与,官至傥城郡太守,被追为赠直州刺史。 父亲韩先

    qq名字后面有个数字—qq名字后面加小爪子…

    qq名字后面有个数字,qq名字后面加小爪子,qq名字后面有个耳朵相关介绍,我们在日常的办公中,会遇到很多需要录入身份证信息的情况,比如学生信息表、比赛报名表等等,如何用excel文档在制作表格时添加上证件号上的小方格呢? 首先打开excel文档,下面是一个幼儿园入学信息表格