文档章节

RegExp类型

Romanceling
 Romanceling
发布于 2017/06/27 23:18
字数 776
阅读 7
收藏 0

创建正则表达式的方法:

var reg = /pattern/flags;

其中,flags:

  • g:表示全局(global)模式,即模式将被用于所有字符串,而非发现第一个匹配项就停止
  • i:表示不区分大小写(case-insensitive)模式
  • m:多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项

模式中使用所有的元字符都需要转义:( [ { \ ^ $ | ) ? * + . ]}

  • 方括号:用于查找某个范围内的字符:
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项
  • 元字符:拥有特殊含义的字符:
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NUL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。
  • 量词:
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 至 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

 

正则表达式的一些方法:

  • exec():返回匹配项信息的数组,没匹配到返回null

该数组还包含额外的两个方法:

    index:匹配项在字符中的位置

    input:匹配的字符串

在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串

        var text = "mom and dad and baby";
        
        var pattern = /mom( and dad( and baby)?)?/gi;
        var matches = pattern.exec(text);
        
        alert(matches.index);    //0
        alert(matches.input);    //"mom and dad and baby"
        alert(matches[0]);       //"mom and dad and baby"
        alert(matches[1]);       //" and dad and baby"
        alert(matches[2]);       //" and baby"
  • test():接受一个字符串参数,在模式与该参数匹配的情况下返回true,否则返回false。

© 著作权归作者所有

上一篇: validatebox
下一篇: Date类型
Romanceling
粉丝 14
博文 166
码字总数 91809
作品 0
无锡
程序员
私信 提问
javascript基础类型判断

string类型 number类型 function类型 undefined类型 Array类型 null类型 RegExp类型 Object类型 注意:Object,Array,null,RegExp都会判断为Object,请把Object放在最后一种类型判断...

wx5ab1d7929c0c3
2018/03/21
0
0
浅谈在ASP.NET中数据有效性校验的方法

作者:未知 作为一名程序员,一定要对自己编写的程序的健壮性负责,因此数据的校验无论在商业逻辑还是系统实现都是必不可少的部分。 我这里总结了一种自认为比较不错的asp.net(C#)的数据校...

晨曦之光
2012/03/09
125
0
oracle sql语言模糊查询--通配符like的使用教程

oracle在Where子句中,可以对datetime、char、varchar字段类型的列用Like子句配合通配符选取那些“很像...”的数据记录,以下是可使用的通配符: % 零或者多个字符 _ 单一任何字符(下划线)...

武汉梁朝伟
2014/03/05
0
0
zabbix监控PHP错误日志

一、创建ITEM 组态--主机--WEB2--项目--创建监控项 log[/data/wwwlogs/php-error.log,error,,,,,] yyMMddphh:mm:ss 1)监控项类型是Zabbix agent (active),返回数据类型是Log。//ServerActiv...

gaolongquan
2016/11/08
400
0
JavaScript强化教程—— RegExp 对象

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —-RegExp 对象 RegExp 对象用于规定在文本中检索的内容。 什么是 RegExp? RegExp 是正则表达式的缩写。 当您检索某个...

zhanyingwang
2016/08/23
3
0

没有更多内容

加载失败,请刷新页面

加载更多

Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
29分钟前
2
0
一、容器(Containers)

在容器模型中,容器大致类似于VM。他们的主要不同之处在于,每个容器不需要自己完整的操作系统。事实上,所有单个主机上的容器共享整个操作系统。这就释放了大量的系统资源,如CPU、RAM和存储...

倪伟伟
39分钟前
3
0
Guava RateLimiter限流源码解析和实例应用

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高...

算法之名
42分钟前
7
0
国产达梦数据库与MySQL的区别

背景 由于项目上的需要,把项目实现国产化,把底层的MySQL数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和MySQL有一定的区别,SQL的写法也有一些区别。 ...

TSMYK
51分钟前
1
0
老也有错?35岁程序员是一道坎,横亘在每个技术职场人的心中

随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。很多程序员在工作5-10年以后,都会开始思考5年、10年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛...

我最喜欢三大框架
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部