网站首页 > 基础教程 正文
一、概述
1、什么是正则表达式
正则表达式(Regular Expression)是一种用于描述字符串(文本)的规则模式。正则表达式由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成。在编写处理字符串的程序或网页时,经常会有查找符合某些规则的字符串的需求。正则表达式就是用于描述这些规则的工具。
2、正则表达式的作用
a)测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证
b)替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字
c)根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字
二、基本语法
a) 行定位符 ^ $
^匹配以开头
$匹配以结尾
b) 选择字符 |
匹配一个字符串 和[] 的区别是 []只能匹配一个字符
c) 连字符 –
0-9 等同于 0123456789
d) 排除字符[^]
e) 限定符 ? * + {n,m}
? 前面的字符出现0次或1次
*前面的字符出现了0次或多次
+前面的字符出现了1次或多次
{n}前面的字符出现了n次
{n,}前面的字符出现了>n次
{n,m}前面的字符出现了m>次数>n次
f) 点号字符 .
点代指任意资格字符
g) 转义字符 \
三、js正则表达式创建与使用
1、javascript 正则表达式的声明方式
a)正则表达式对象声明方式
var reg = new RegExp("a","gi");
b)正则表达式字面量的声明方式
var reg = /a/gi;
2、正则表达式在js中的应用
a) test 检查指定的字符串是否存在
var data = "123123";
var reCat = /123/gi;
// g全局模式
// i不区分大小写
alert(reCat.test(data)); //true
b) exec 返回查询值
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/i;
alert(reCat.exec(data)); //Cat
c)match 得到查询数组
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
var arrMactches = data.match(reCat)
for (var i=0;i < arrMactches.length ; i++)
{
alert(arrMactches[i]); //Cat cat
}
d) search 返回搜索位置 类似于indexof
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
alert(data.search(reCat)); //23
e) replace 替换字符 利用正则替换
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
alert(data.replace(reCat,"libinqq"));
- 上一篇: JS正则表达式方法总结 js正则表达式?
- 下一篇: JS正则表达式方法总结 | 小郑搞码事
猜你喜欢
- 2024-10-18 正则表达式:获取js函数体 js正则表达式获取字符串
- 2024-10-18 JavaScript正则表达式基础与实战应用
- 2024-10-18 js正则表达式(下)——常用正则 js中正则表达式的使用
- 2024-10-18 【编程思维】JavaScript正则表达式的深度解析
- 2024-10-18 JavaScript之正则表达式教程 js正则表达式?
- 2024-10-18 重温js——正则表达式 js正则表达式?
- 2024-10-18 js正则表达式验证大全 js 正则验证
- 2024-10-18 几条常用的JavaScript正则表达式 js 常用正则
- 2024-10-18 JavaScript正则表达式入门知识详细介绍
- 2024-10-18 值得收藏的八个常用的js正则表达式
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)