正则表达式(Regular expression)入门介绍
正则表达式(Regular expression)学习记录1
作为学习更新类文章,就不像解决问题向文章那样步骤清晰,可能会有点拖泥带水,这只是我的个人学习记录,感兴趣的可以一起学习
正则表达式在程序圈内也算是一个很受欢迎的工具,利用好正则表达式能有效提高我们的工作效率,有效减少if-else的使用次数
分享一个收藏很久的正则在线验证工具 https://regexr.com/
2020-12-12
1.初尝!正则表达式创建以及简单字符串验证
let reg = new RegExp(123)
console.log(reg) // /123/
let reg1 = /123/
console.log(reg1) // /123/
以上为正则表达式的两种创建方式,个人感觉用用两根正斜线创建更快捷
console.log(reg1.test("123")); // true
console.log(reg1.test("012345")); // true
console.log(reg1.test("012453456")); // false
Javascript 中的Regexp 实例方法test可以验证字符串,返回true或者false。从上边的验证可以看出一个只要包含连续的“123”的字符串就符合 /123/ 这样的镇这表达式。
So 一个朋友产生了不少疑问:如果是验证不同的英文单词,不同数字符号,甚至是一段汉字怎么办
2.甜头!了解正则表达式中的特殊字符
下边是一些比较常用的字符
符号 | 描述 |
---|---|
\w | 匹配字母、数字、下划线(word) |
\d | 匹配数字(digital) |
* | 匹配0或多个 |
+ | 匹配至少1个 |
? | 匹配0或者1个 |
这里能看出来这里的反斜线“\”在平时的学习工作中也有用到,比如\t,\n等替换符号。
下边我尝试着用一下元字符
let reg3 = /^\w\d$/;
console.log(reg3.test("t1")); // true
console.log(reg3.test("ty")); // false
// 顺便介绍一下表达式中的^和$,分别是匹配字符串的开头和结尾。
在各种教程网站像菜鸟,MDN这些都有较全面的符号解释用法,不必死记硬背,一般工作能用到的也不多,需要用到的时候再查也可
3.看看网上常见的正则
话说实践出真知,牛犊不怕虎。还得直接上菜,看看能不能吃
下面是一段我简化过的正则表达式,关于手机号码的
let reg4 = /^(13[0-9]|14[01456789])\d{8}$/
console.log(reg4.test("13000000000")); //true
console.log(reg4.test("1300000")); //false
console.log(reg4.test("14400000000")); //true
console.log(reg4.test("14200000000")); //false
console.log(reg4.test("18888888888")); //false
/*
可以看出正则表达式中有两个新符号 “|”,“[]”,“()”,"{}"
|:这条竖线表示 “或者”;
[]:表示匹配其中的一个字符,里边可以是范围像[a-zA-Z0-9],
这就是匹配一个无论大小写字母或者一个数字;
():表示 括号内的部分被看作一个整体来进行匹配;
{}:可以规定某种或某个字符的次数,上边的 \d{8}$ 表示以 8位数字结尾。
同时也可以表示一个范围,像\d{3,7}表示需要 3-7位的数字(包括3和7);
So 上边的表达式中表示可以匹配以13?或14?开头,并且后边的数字还有8位。
能被匹配的字符串可以是:13088888888,13100000000,14188888888
不能被匹配的字符串有:142开头的,143开头的,其他开头的以及不满足11位数字的
*/
再看看经常使用的邮箱正则:
let reg5 = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
console.log(reg5.test("kkkK3Rr@example.com")); //true
console.log(reg5.test("@example.com")); //false
console.log(reg5.test("kkkK3Rr@.com")); //false
console.log(reg5.test("123456@mple.hahah")); //true
/*
这段正则是这样的:首先以必须至少一个大小写字母数字或者下划线减号开头,紧接着加上“@”,
再然后必须跟上至少一个大小写字母数字或者下划线减号,再然后必须跟上一个点“.”,
再接着至少一个大小写字母数字或者下划线减号结尾。
*/
掌握基本的用法,能看懂正则表达式要表达的意思就算入门啦!接下来就是多看看别人写的正则,或者根据自己的项目中要求练习一下。
建议大概看看教程网站的正则符号大全,了解一些常用的。
谢谢观看!
本文地址:https://blog.csdn.net/jianglongfei007/article/details/111086790
上一篇: C++入门浅谈之类和对象
推荐阅读
-
Python使用正则表达式(Regular Expression)超详细
-
浅谈正则表达式(Regular Expression)
-
python re正则表达式模块(Regular Expression)
-
共享日常收集JS正则表达式(JavaScript regular expression)
-
正则表达式Regular Expression (RegExp)详解
-
正则表达式regular expression详述(一)
-
正则表达式regular expression详述(二)
-
正则表达式基础教程 regular expression第1/2页
-
正则表达式Regular Expression
-
正则表达式基础教程 regular expression第1/2页