以前使用正则是不会自己去学或者去了解怎么实现正则的语法的,感觉好难懂的样子,于是拖到现在

其实正则不是我想象中的那么难,至少入门还是比较简单。我刚学习了一些比较简单的,谈谈我对正则的理解以及使用心得,希望能帮助大家

1、学习正则的话 ,正则手册必须看的,了解常用的字符含义,这样在学习或看或写的时候,才不会觉得(哇,这什么鬼啊,为什么这么多括号中括号大括号, 这一串串的真是是规则吗?会不会是别人乱写的。)

2、大致看了一下手册了之后,我觉得应该看一下关于正则教程的视频,图文音并茂,这样才更容易让人理解这是什么东西,然后跟着做一下。

3、看了视频了解简单的正则简单的写法就可以写一下简单的规则了。比如说验证日期、价格、年龄等,这些都是项目比较常用的且简单的正则验证。

最后我举一个简单的例子

QQ号的验证:

1、首先,要写验证的话,就必须了解你验证的这个有什么样子的规则。

QQ号是大多数人的青春,我相信绝大多数人都比较熟悉,那么它的规则估计并不是所有人都清除。

首先,腾讯刚开始发布QQ号的时候是从1开始的,也就是世界上第一个QQ号是1。但是为了安全等等原因,腾讯收回了4位数及更少的QQ号码,只留下了10000开始的QQ号,所以腾讯的QQ号最小是10000,最大位置,也就是说只要比10000大的数字都可以。再者,QQ号有了一个最小数,那是不是用QQ号>10000就是QQ号了呢?比如:QQ号>10000。

其实不然,因为n个0加上10000+也是大于10000的,比如00010001,但是这个数字不是QQ号。所以第一个数字不能为0,这就是QQ号的所有规则了,是不是很简单。(不好意思,废话多了)

2、写规则

既然我们知道了规则,就是开始写规则了,规则拆开写,三个规则,第一:QQ号必须是数字组成,第二:第一个数字不为0且是一位数,取值范围1-9,第三,QQ号位数至少是五位数。

[1-9]:[]表示一个字符的一个范围,1-9表示只能取大于等于1,小于等于9的数字。

[0-9]:因为第二个数字开始,数字就可以取值为0了,所以取值0-9

{4,}:{}表示长度,可取两个值,第一个是最小长度(必填,非负数),第二个是最大长度(选填),中间用逗号隔开,第二个不填表示无上限。QQ号为5位数,所以第一位后面需要至少有4个数字。

最后连起来就是[1-9][0-9]{4,}。如果只是验证某一个参数是不是QQ号,就需要规定什么时候开始什么时候结束,不然只要一串字符串里面连起来有符合规则的都会通过。

正则中 ^ 表示开始, $ 表示结束,为了验证某一个参数是不是QQ号,最后规则为: ^[1-9][0-9]{4,}$   ,表示这个参数里面必须以1-9的数字开头,以0-9的数字结尾,否则通不过验证。

最后  \d 等价与  [0-9] ,规则也可以写成 ^[1-9]\d{4,}$

----------------------------------------------分割线-------------------------------------------------------

新增:学习正则的时候可以用下这个网站,你输入的正则都可以很直观的给你解释这个正则表达的是什么意思,比如:

只要你输入一个正则表达式,无论有没有//来分割,只要是正确的格式,都可以给你解释。(digit中文是“数字”的意思,估计这个老外写的工具,所以全部都是英文

如果和我一样看不懂英文 ,就ctrl+c ctrl+v ,在百度翻译里面找答案吧,哈哈)

当你输入一个错误的格式的时候,就会显示如图

非常好用的一个工具, 大家学习或者看别人写的正则的时候,可以借助这个工具,祝各位早日掌握正则。

总结:正则验证十分强大,入门简单,适用于各种语言,多学一点,后面少苦恼一点。勤学苦练,终能成大事,希望各位一起学习、进步。

我是刚入门不久的前端工程师,内容写的可能不是那么精简、清楚,我会慢慢改进排版以及内容,希望各位多多指点,多多支持,谢谢

(ps: 如果有刚加入前端这个行业的,比较迷茫的同学,欢迎进群交流,希望不嫌弃的同行或者大佬加群大家一起交流,相信未来会更好,群号:815957915)

转载于:https://www.cnblogs.com/Simple-and-complex/p/10348762.html

怎么学习正则表达式?(正则的使用心得)相关推荐

  1. 手机号正则_一起刷题学习正则表达式

    在我最开始学习正则表达式的时候看到一堆符号简直头晕,所以很长一段时间我都是百度一下某某正则怎么写,比如:匹配所有手机号码的正则,但是有时候工作中碰到的一些问题网上搜不到,这就尴尬了,后面还是逼着自己花 ...

  2. 【推荐】使用Ultrapico Expresso学习正则表达式

    推荐理由 Ultrapico Expresso是我工作中经常使用的一个非常强大的正则表达式构建.测试以及代码生成工具.它能够对你构建的正则表达式进行解析.验证,并输出解析结果,提供性能测试工具,支持C ...

  3. (正则表达式学习)正则表达式语法

    以前一直想好好的系统的学习正则表达式,都没有按照自己的意愿去做.这次一定要很抓一下正则的学习.先把MSDN的正则表达式语法帖出来,方便自己查找.呵呵. 字符 说明 \ 将下一字符标记为特殊字符.文本. ...

  4. 2016-8-4学习正则表达式

    2016-8-4学习正则表达式 编程 正则 第二章 简单的模式匹配 正则表达式唯一的用途就是在文本中匹配和寻找模式 匹配字符串字面值的方法就是使用普通的字符. 第三章 边界 断言标记边界,但是并不耗用 ...

  5. 正则表达式实例搜集,通过实例来学习正则表达式

    正则表达式实例搜集,通过实例来学习正则表达式.本仓库实例搜集整理来自于<一些正则表达式随记>,通过一个单独仓库专门整理这些正则实例,提供一个实例网站,方便正则实例验证和查询.也方便添加新的 ...

  6. 正则表达式学习日记_《学习正则表达式》笔记_Mr_Ouyang

    正则表达式学习日记_<学习正则表达式>笔记_Mr_Ouyang 所属分类: 正则表达式学习日记  书名:     学习正则表达式 作者:     Michael Fitzgerald 译者 ...

  7. 一起学习正则表达式(四)常见的4种匹配模式

    转载请注明出处:https://blog.csdn.net/kong_gu_you_lan/article/details/119101667 本文出自 容华谢后的博客 往期回顾: <一起学习正 ...

  8. 通过grep学习正则表达式

    在Linux的学习当中,正则表达式是非常重要的部分,现在我想通过grep命令来解析和学习正则表达式,同时也能将grep的相关功能展示清楚. 从一个例子开始 cat test.txt grep 'a l ...

  9. java正则表达式课程_通过此免费课程学习正则表达式

    java正则表达式课程 by Beau Carnes 通过博卡恩斯 通过此免费课程学习正则表达式 (Learn Regular Expressions with this free course) & ...

  10. [CSP-S Day1,Day2 游记]提高组考后总结及学习编程C++以来的心得体会

    怀着沉重而感慨的心情写下了这篇blog 考试中暴露的问题 Day1 Day2 综上 解决方法 学习历程及以来的心得体会 职业精神 这篇博客我可能会写好几天,我jio得这篇博客对我的学习历程以及态度产生 ...

最新文章

  1. C#精髓【月儿原创】第一讲 使用垃圾回收器
  2. Docker部署Jmeter 性能监控服务(常用命令)
  3. 记一次使用快速幂与Miller-Rabin的大素数生成算法
  4. linux mysql 端口配置文件_Linux配置测试环境,部署项目(指定端口,数据库连接)...
  5. 发现 4 个 Python 命令行可视化库,又酷又炫!
  6. java统计字符串中每个字符出现的次数_统计字符串出现的次数
  7. WMS仓储管理系统有那些功能?
  8. LeetCode 58. Length of Last Word
  9. 【Python3】【爬虫】bilibili摄影板块
  10. 如何用T—SQL命令查询一个数据库中有哪些表?
  11. mkdir命令的-p和-m
  12. asio ssl 笔记
  13. !!!python 100行代码编写【Google 图片搜索爬取工具】多线程
  14. ERROR: 报错分析 phase.raise_objection(this)不能是phase.raise_objection(phase)
  15. python可视化图表和excel的区别_Excel的数据可视化和Python的有什么不同?
  16. 【GHM (AAAI‘2019)】
  17. 阿里天池——利用pandas分析美国总统竞选选票情况
  18. 深度剖析Linux内核(ARM体系结构)
  19. 区块链 试题_区块链金融-中国大学mooc-试题题目及答案
  20. GitHub入门(2)

热门文章

  1. Linux 命令之 newgrp -- 登入另一个群组
  2. Oracle 数据库错误信息:动态执行表不可访问,本会话的自动统计被禁止
  3. Linux 命令之 tcpdump -- 监听网络流量
  4. Java如何加载类的呢?
  5. python程序怎么给别人运行_如何使Python脚本作为服务运行?
  6. 驱动级的自动按键_空调遥控器特殊按键使用方法及注意事项
  7. 接口隔离原则_设计模式的三大分类及六大原则
  8. css 竖行进度图_前端学习--汇集了大量 CSS 的使用和学习的示例代码
  9. js text 和 html,JS DOM innerText和textContent的区别
  10. c语言怎么循环输入单个字符,c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,...