JS-正则表达式

正则表达式的概述

正则表达式(Regular Expression)是一个描述字符模式的对象, 用于对字符串进行匹配, 一般用在有规律的字符串匹配中;常用于表单验证以及相关的字符串匹配

正则对象的声明

1.使用//来声明(常用的)

var regx = /a/ //表示匹配a
//字符串支持正则的方法 replace split search match
var str = 'abcdef'
console.log(str.match(regx));
regx = /a/i
console.log('ABC'.match(regx));  

2.使用new关键词来声明

//使用new关键词 参数一是匹配的对应的正则表达式 参数二模式
//i表示不区分大小写  g表示全局搜索
var regx1 = new RegExp('a','i')
var str1 = 'ABC'
console.log(str1.match(regx1));
模式修饰

g 全局搜索

i 不区分大小写

m 换行模式

正则匹配的元字符

[] 表示里面任意的一个元素
^ 表示开头
$ 表示结尾
{} 表示个数
var regx2 = /[a-z]{6}/ //表示6个小写的字母
regx2 = /[a-z]{0}/ //表示0个字母
regx2 = /[a-z]{1,3}/ //表示1个到3个
regx2 = /[a-z]{1,}/ //表示1个到无穷个

{n} 表示n个

{n,m} 表示n个到m个

{n,} 表示n个到无穷个

+ 表示一个到多个 {1,}
* 表示0个到多个 {0,}
? 表示0个到一个 {0,1}
. 表示所有的内容(包括中文字符)
\w 表示对应的字母数字下滑线 \W 就是相反的 不是字母数字下滑线
\d 表示数字 \D表示非数字
\s 表示空白字符串(回车 制表 空格) \S就是相反的 不是空白字符
() 分组
| 或者
转义 \
//匹配 ? * + .等元字符 转义\
var regx10 = /^[?]$/
console.log('?'.match(regx10));
var regx10 = /^[*]$/
console.log('*'.match(regx10));
//用转义字符来
var regx10 = /^\*$/
console.log('*'.match(regx10));
var regx10 = /^\.$/
console.log('.'.match(regx10));

正则的检测方法

test 测试 返回一个boolean类型值(是否匹配)
var regx = /\w/
console.log(regx.test('abc')) //true
exec 执行 返回给你一个对应的匹配的数组(如果有就返回一个数组)
var regx = /\d/
console.log(regx.exec('123')) //[1,2,3]

字符串支持正则的4个方法

  • split 切割
  • replace 替换
  • search 查找
  • macth 匹配
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)语法/正则...
    壹枕星河阅读 5,438评论 0 1
  • 1:\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么? 2:写一个函数t...
    饥人谷_bigJiao阅读 154评论 0 1
  • 两种模糊匹配如果正则只有精确匹配是没多大意义的,比如/hello/,也只能匹配字符串中的"hello"这个子串。 ...
    与诗小睡阅读 514评论 0 0
  • JavaScript-正则表达式 记录这篇高大上的正则表达式,其实接触很多,但是实际项目里面感觉运用的比较少呀,用...
    明明三省阅读 3,071评论 0 24
  • 为什么要学习正则:正则表达式通常被用来检索、替换那些符合某个模式的文本. 1.凡是有需要用户填写表单的地方,都需要...
    好奇而已阅读 259评论 0 0