文档章节

正则表达式

前端小虾
 前端小虾
发布于 2016/09/29 10:33
字数 1013
阅读 8
收藏 0

RegExp 对象

RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

new RegExp(pattern, attributes);

参数

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

返回值

一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。

如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。

 

RegExp 对象属性

global RegExp对象是否具有标准g

ignoreCase RegExp对象是否具有标志i

lastIndex 一个整数,表示开始下一次匹配的字符串位置

multiline RegExp对象是够具有标志m

source 正则表达式的源文本

RegExp对象方法

compile编译正则表达式

exec检索字符串中指定的值。返回找到的值,并确定其位置。

test 检索字符串中指定的值。返回true或false

支持正则表达式的String对象的方法

search检索与正则表达式相匹配的值

match 找到一个或多个正则表达式的匹配

replace替换正则表达式匹配的子串

splite 把字符串分割成字符串数组
 

修饰符:

i 执行对大小写不敏感的匹配。

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m 执行多行匹配。

方括号

方括号用于查找某个范围内的字符:

[abc]查找方括号之间的任何字符。

[^abc]查找任何不再反括号之间的字符

[0-9]查找0-9之间的数字

[a-z]查找从小写a到小写z的字符

[adgk]查找给定集合内的任何字符

[^adgk]查找给定字符外的任何字符

(red|blue|green)查找任何指定的选项

元字符

元字符是拥有特殊含义的字符。

.点 :  匹配除“\n”之外的任何单个字符

\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的字符串

 

 

 

 

 

 

 

 

http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

http://www.jb51.net/shouce/jquery1.82/regexp.html

© 著作权归作者所有

前端小虾
粉丝 1
博文 44
码字总数 21084
作品 0
东城
私信 提问

暂无文章

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
507
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
22
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
11
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
33
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部