码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2020-04-13 00:24:00      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:之间   多次   构造   strong   block   head   lse   不可   end   

正则表达式

创建正则表达式

// 通过 RegExp 构造函数创建
var regexp = new RegExp(/123/);
// 通过字面量创建
var regexp = /123/;

边界符

正则表达式的边界符(位置符)用来提示字符所在的位置

边界符 说明
^ 表示匹配行首的文本(以谁结束)
$ 表示匹配行尾的文本(以谁开始)

如果 ^ 和 $ 在一起表示精确匹配

var re = /^abc/; // 表示匹配abc开头的字符串
var re = /abc$/; // 表示匹配abc结尾的字符串
var re = /^abc$/; // 表示精确匹配 abc 这三个字符串 abcabc也不行
// 测试方法
re.test(‘abc‘); // 返回 Boolean

字符类

[]:表示有一系列字符可供选择,只要匹配其中一个即可

var re = /abc/; // 只要包含abc即可
var re = /[abc]/; // 包含 a 或者 b 或者 c 其中一个即可
re.test(‘color‘); // true
var re = /^[abc]$/; // 三选一 只有abc其中一个才是true 其他都是false

[-]:范围符

var re = /^[a-z]$/; // 26个英文字母任意一个都是true, 多选一
// 字符组合
var re = /^[a-zA-Z0-9_-]$/; // 匹配大小写英文字母,以及数字下划线短横线的其中一个
var re = /^[^a-zA-Z0-9_-]$/; // 中括号里面包含 ^ 表示取反,大小写英文,数字下划线短横线都不可以使用

量词符

量词符用来设定某个模式出现的次数

量词 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n词
{n,} 重复n次或更多次
{n,m} 重复n到m次
var re = /^a*$/; // 表示匹配a零次或者多次
var re = /^a+$/; // 表示匹配a一次或者多次
var re = /^a?$/; // 表示匹配a零次或者一次
var re = /^a{3}$/; // 表示匹配a三次
var re = /^a{3,}$/; // 表示匹配a大于等于3次
var re = /^a{3,4}$/; // 表示匹配a大于等于3次,小于等于4次
// 量词可以规定某个模式出现的次数
var re = /^[a-zA-Z0-9]{6,12}$/; // 规定了英文大小写和数字必须大于等于6位小于等于12位

括号总结

1,大括号 量词符 里面表示重复次数

2,中括号字符集合,匹配方括号中任意字符

3,小括号 表示优先级

var re = /^abc{3}$/; // 表示匹配 c 三次
var re = /^(abc){3}$/; // 表示匹配 abc 三次

预定义类

预定义类指某些常见模式的简写

预定类 说明
\d 匹配0-9之间任意数字,相当于[0-9]
\D 匹配0-9以外的字符,相当于[^0-9]
\w 匹配任一的数字字母和下划线,相当于[0-9a-zA-Z_]
\W 除字母数字下划线以外的字符,相当于[^0-9a-zA-Z_]
\s 匹配空格(包括换行空格制表符等),相当于[\t\n\r\v\f]
\S 匹配非空格[^\t\r\n\v\f]
// 座机号验证 | 代表或者的意思
var re = /^\d{3}-\d{8}|\d{4}-\d{7}$/; // 三个数字-8个数字或者4个数字-7个数字

正则验证、常见表达式:http://c.runoob.com/front-end/854

正则表达式替换

// str.replace(reg/substr, target);
var str = ‘很开心, 真的很开心, very happly‘;
var newStr = str.replace(/开心/, ‘**‘); // 可以使用正则表达式进行替换,但是这样的话只能替换第一个 "开心"

正则表达式参数

/表达式/[switch] switch也称为参数按照什么样的模式来匹配,有三种值

  • g: 全局匹配
  • i: 忽略大小写
  • gi: 全局匹配顾略大小写
var newStr = str.replace(/开心|happly/g, ‘**‘); 
// 所有的开心或者happly都会被替换,

正则表达式

标签:之间   多次   构造   strong   block   head   lse   不可   end   

原文地址:https://www.cnblogs.com/article-record/p/12688712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!