美文网首页
正则大作战:基础篇

正则大作战:基础篇

作者: makebanana | 来源:发表于2017-05-07 13:21 被阅读0次

我眼里的正则

/([^&]*)(&|$)/ === 龘靐齉齾龗麤鱻爩龖吁 灪麣鸾鹂鲡驫饢籱癵爨 滟厵麷鸜郁骊钃讟虋纞 龞齽齼鼺黸麢鹳鹦鸙鸘

心情复杂
  • 这是什么
  • 这又是什么
  • 我是谁,我在哪里,我为什么要怼正则

面对现实(ha sa ge?)

在个人日常开发中,其实用到的正则匹配也不算太多(太菜所以接触不了太多)。每次遇到需要正则去处理的表达式,基本搜索引擎敲几下就出来了,自己也想弄懂检索出来的这么一段正则是什么个意思,总是看不懂,要么就是看懂了也就马上忘了。抱着侥幸的心理,一直拖到了现在。今儿,我想下个战书,持续作战下去。

学习过程

主要是想要依靠大量平日里经常接触的正则表达式下手,例如:手机号码、邮箱、密码强度、关键字替换、简单模板引擎正则部分以及比较有意的部分。

来,进入枯燥的关键字(主要元字符)

匹配符

代码 描述
\w 匹配字母或数字或下划线或汉字
\W 匹配任意不是字母,数字,下划线,汉字的字符
\s 匹配任意的空白符
\S 匹配任意不是空白符的字符
\d 匹配数字
\D 匹配任意非数字的字符

特殊符

代码 描述
. 匹配除换行符以外的任意字符
^ 匹配字符串的开始
$ 匹配字符串的结束
\ 匹配这些特殊符,必须首先使字符"转义", ( => (
相当于或则一般来说是 条件A 或则 条件B 满足其一足以
() 标记一个子表达式的开始和结束位置,这个会在系列(二)中怼
[] 暂时理解为任选其一,[0-4] 01234中的任何一个

限定符

代码 描述
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

我看烦了,赶紧整例子

1 邮箱

    var emailReg = ^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$ ;
    
    ---- ^以xxx开头,xxx是什么呢,就是[A-Za-zd\d]+;
    
    ---- [A-Za-zd\d]+是啥子东西,[]是任选其一,A-Za-zd\d 大小写英文加数字,+ 出现的次数必须 >= 1;
    
    ---- 那么[-_.]就简单了,- _ . 这三个符号任选一个哈;
    
    ---- * 的意思就是 >=0,大概就是出不出现随便你;

    ---- @ 就是@这个字符,不要以为跟*搭配在一起会神圣,关键字特殊符号就那么几个;

    ---- {2,4}$,前面()或者[]里面的内容长度要满足2-4之间,并且以这几个结尾,也就是$的作用;   

A:什么鬼,例子不是应该从简单到难循序渐进吗,你会教吗???

me:不...不是,咱们可以拆开来吗,拆开不就差不多了,刚好涵盖大部分基础。

2 手机号

这个给你整两个遛遛

    var A = /^1[34578]\d{9}$/;
    var B = /^1(3|4|5|7|8)\d{9}$/;
    
    ---- A,看过邮箱,也八九不离十能看到A了,我就一句话说了:
    ^1 数字1开头的,第二位是[34578]中的任意一个,再加上\d{9}$ 9个数字结尾;
    
    ---- B 区别主要在于(3|4|5|7|8),意思跟上面的[34578]一样,白话文就是 你要么是3要么是4要么是5要么是.....嘿嘿;

3 简单模板引擎替换,URL参数获取

写到这里,发现要涉及捕获,我想放到系列(二)里面,你不愿意也不行。大概就是:
-- var nameA = ‘小花;
-- <div>{#nameA#} <div >

<div>小花<div >

4 密码强度

有点复杂,条件多,心也累,又发现有 ?! 的表达式,属于零宽断言,可能要进阶到(三了);看到这里有没有觉得像个水文了,委屈.jpg,我只是拆分了循序见见嘛~

简单入门总结

其实在我现在看来正则也不是那么遥不可及,我是为了攻克它,所以选择写blog来巩固学习。当你看到这里的时候,可能你学到的东西已经跟我写这里的时候相当了,就差要你自己动手去实践了,这也是我写作的目的,没有难的语言,只有懒的人。

附件

常用的正则表达式

深入理解正则大意

相关文章

  • 正则大作战:基础篇

    我眼里的正则 /([^&]*)(&|$)/ === 龘靐齉齾龗麤鱻爩龖吁 灪麣鸾鹂鲡驫饢籱癵爨 滟厵麷鸜郁骊钃讟虋...

  • 正则表达不再靠control+v(实操篇)

    1. 前言 前面的正则的基础语法了解之后,正式开始实际应用 对基础知识感兴趣的可以看看我写的基础篇 《正则表达不再...

  • Java正则表达式入门基础篇

    Java正则表达式入门基础篇 正则表达式是什么呢,在网上可以搜到很多版本的定义,大...

  • Pytorch_第八篇_深度学习 (DeepLearning)

    深度学习 (DeepLearning) 基础 [4]---欠拟合、过拟合与正则化 Introduce 在上一篇“深...

  • 实例学习vue.js目录

    目录 入门篇 初识vue vue基础指令 vue实例:标语大作战 事件修饰符 双向数据绑定 使用v-for遍历数据...

  • 正则学习笔记—基础篇

    1、什么是正则? 我的理解:处理字符串的工具。 2、如何使用? 先睹为快:/\d/匹配0-9的字符串:0 1 2 ...

  • 手机号正则表达式验证

    基础方法 /** 基础方法 @param regex 正则表达式 @return 正则验证成功返回YES, 否则返...

  • 2020-04-10

    正则表达式篇(三个场景) 正则与数值 正则与颜色 正则与URL node篇

  • 11.BeautifulSoup详解

    上一篇:8.Urllib库基本使用下一篇:10.正则表达式基础 正则表达式其实对很多人来说用起来是不方便的,需要记...

  • Swift 正则表达式之ExpressibleByStringL

    前言 上篇文章:Swift 正则表达式详解+实例 基础篇 对Swift中的正则表达式的使用方式做了一些简单的概括,...

网友评论

      本文标题:正则大作战:基础篇

      本文链接:https://www.haomeiwen.com/subject/hwputxtx.html