美文网首页
正则表达式基础篇

正则表达式基础篇

作者: 竹小星 | 来源:发表于2017-07-23 23:46 被阅读2次

正则表达式(Regular Expression)是一种文本模式,包含普通字符(a-z, A-Z, 1-9,)和特殊字符(.-等)。是制定一套规则,匹配出一个符合规则字符串。

用处:

  • 验证输入的字符串
  • 识别文本中的特定文本,对其进行操作
  • 提取匹配成功的字符串

创建一个正则:

new RegExp('o','gi');
var reg = /o|你好|/d+/gi

选项:

选项 解释
g 全局
i 忽略大小写
m 段落多行匹配

修饰符:

修饰 解释
^ 行首
$ 行尾
[] 字符范围
/a[bc]d/ /abd丨acd/
[0-9] 匹配所有的数字, '-'代表范围
[1-38] 1丨2丨3丨8
[0-9.-] 匹配所有的数字,句号和减号
[a-zA-Z] 匹配所有的小写字母和大写字母
[^0] 排除中括号里面的东西
[^0-9] 排除数字
[^a-zA-Z] 排除字母

转译:

转译 解释
\ 消除空格, 一个斜杠是转译的意思
\\ 代表特殊字符斜杠\
. 任意
\. 代表点.
\\ 代表特殊字符斜杠
\d 数字 [0-9]
\w 代表 [0-9 a-z A-Z _]
\s 空格
\r 回车
\D 非数字 [^0-9]
\W 非单词 [^0-9 a-z A-Z _]
\S 非空格
\n 换行

量词:

转译 解释
+ 若干个,例: var reg = /\d+/g
* 可以没有, 有了不限
? 可以没有, 有最多一个
{} 个数范围
/\d{n}/ n个数字
{n,m} 最少n个数字, 最多m个
{n,} 最少n个, 无上限
{0,} 可以没有, 可以无上限
{0,1} 可以没有, 有只能一个

注: 量词只跟前一个元素

分组:

转译 解释
() 括号中的为一组

字符串方法:

查询符合正则的字符串:
str.sarch(reg)   // reg为定下的正则

返回值: 如果找到返回下标, 没有找到返回-1

挑选符合正则的内容:
str.match(reg)  
替换符合正则条件的字符串:
str.match(/\d/g,function(s){       // s为符合正则条件的字符串,形参
  return 'red'                     // 替换成的内容
})  

注: 返回的是替换后的新字符串, 源字符串没有发生改变

校验:

reg.test(str) 

注:只要字符串其中一部分满足条件就成立, 所以在校验的时候必须加首尾修饰符^$
返回值: 满足为true或不满足为false

表达式例子:

var reg  = /^(0[1-9]\d{1,2}-)?[1-9]\d{6,7}$/       // 验证座机号
var reg  = /^1\d{10}$/                             // 验证手机号
var reg  = /^\w+@[a-z0-9-]+(\.[a-z]{2,8}){1,2}$/   // 验证邮箱
var reg  = /^[1-9]/d{4,10}$/                       // 验证QQ号
var reg  = /^1[89]|[2-9]\d|100$/                   // 验证年龄, 是否18岁以上
var reg  = /^[\u4e00-\u9fa5]{2,6}$/                // 验证汉子姓名
var reg  = /^[1-9]\d{5}[1-9]\d{3}(0[1-9])|(1[0-2])(0[1-9])|([12][0-9])|(3[01])\d{3}[0-9X]$/                
                                                   // 验证身份证

相关文章

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

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

  • 11.BeautifulSoup详解

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

  • Swift 正则表达式之ExpressibleByStringL

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

  • Python帮你找东西——Cheat Sheet

    上一篇文章给大家介绍了正则表达式的基础概念,字符和语法,展示了正则表达式常用的功能。但是正则表达式虽然很强大,但也...

  • 正则表达式

    基础正则表达式 拓展正则表达式 贪婪与懒惰

  • awesome frontEnd

    1.JS基础篇1:数据类型(8种) 2.JS基础:正则表达式 3.带你彻底弄懂Event Loop 4.js 深拷...

  • 笔记:正则表达式

    正则表达式基础部分笔记

  • linux(十一) 正则

    基础正则表达式字符汇整 延伸型正则表达式 去除注释行和空行 如果使用基础正则表达式 如果是空白行,只有$,这样使用...

  • 爬虫学习笔记(3): Python正则表达式Re库

    基础部分 重要性不言而喻。最开始学Perl的时候,对正则表达式做过一些总结,正则表达式笔记(三),共3篇。在这里对...

  • Java基础:正则表达式

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 正则表达式概述 正则...

网友评论

      本文标题:正则表达式基础篇

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