浅谈正则表达式

大家都知道,正则表达式是一个复杂而强大的东西,今天就由我来给大家讲一讲!

何谓正则表达式

有时候我们会有匹配的需求,例如:
123 —— 匹配成功
+123 —— 匹配成功
-123.41 —— 匹配成功
123+ —— 匹配不成功
0123 —— 匹配不成功
x123 —— 匹配不成功
此时一个很好的办法就是用正则表达式。


没错,这种表达式就是用来做匹配的,删除一些东西又不想手动改的话特别有用!

工具推荐

我个人的话用的就是菜鸟工具的正则表达式工具,贴一下网址:https://c.runoob.com/front-end/854/

基本语法

  • 在[]中加入字符就可以实现这些字符的匹配,如:[ABCD]匹配一个A-D的大写字母。
  • []中可以加入-,表示从哪到哪,如:[A-Za-z]匹配一个字母。
  • {n}表示匹配n次,{n,}表示匹配n次及以上,{,m}表示匹配m次及以下,{n,m}表示匹配n-m次。
  • *相当于{0,},+相当于{1,},?相当于{0,1}。
  • ()表示子表达式,如:([A-Z][a-z]){3,}可以匹配AbCdEf,可以匹配AyRoAlLeGa,但不能匹配ArCl或ABDcEr。
  • ^表示开头,$表示结尾。
  • |表示有多个可选项,如:foo(ood|a)能匹配fooood和fooa。
  • 如果是.,则得写成\.。
    让我们现在就去实战演练一下吧!

实战演练

1.手机号码(首位为1,后面的10位随便)
2.0或不带前导0的正整数(不带+号)
3.日期(6.15,7.31,8.5等),每个月都有31天。(雾
4.开始时的那道题。
注:以上四道题都要在^$里写。

答案

先加入几行线再写答案吧。











1.^1[0-9]{10}$

2.^0|[1-9][0-9]*$

3.^([1-9]|1[0-2])\.([1-9]|[1-2][0-9]|3[0-1])$

4.^[+-]?[1-9][0-9]*(\.[0-9]+)?$

不知道小伙伴们答没答对呢 ~

题外话

话说Editor.md是真的好用,比TinyMCE好用多了!

posted @ 2022-06-13 22:08  A-Problem-Solver  阅读(32)  评论(0编辑  收藏  举报