正则表达式常用表达式及操作

本文介绍JavaScript中正则表达式的使用方法,包括测试、查找、匹配、替换等操作,并提供了一些常用的正则表达式模式,适用于字符串验证和文本处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 test  检查指定的字符串是否存在
var data = “123123″;
var reCat = /123/gi;
alert(reCat.test(data));  //true
//
检查字符是否存在  g 继续往下走  i 不区分大小写

2 exec 返回查询值
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat = /cat/i;
alert(reCat.exec(data));  //Cat

3match  得到查询数组
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
}

4 search  返回搜索位置  类似于indexof
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat = /cat/gi;
alert(data.search(reCat));  //23

5 replace  替换字符  利用正则替换
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat = /cat/gi;
alert(data.replace(reCat,”libinqq”));

6split   利用正则分割数组
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat = /\,/;
var arrdata = data.split(reCat);
for (var i = 0; i < arrdata.length; i++)
{
alert(arrdata[i]);
}
3
、常用表达式收集:

"^\\d+$"//非负整数(正整数 + 0
"^[0-9]*[1-9][0-9]*$"
//正整数
"^((-\\d+)|(0+))$"
//非正整数(负整数 + 0
"^-[0-9]*[1-9][0-9]*$"
//负整数
"^-?\\d+$"
//整数
"^\\d+(\\.\\d+)?$"
//非负浮点数(正浮点数 + 0
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
//
正浮点数
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"
//非正浮点数(负浮点数 + 0
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
//
负浮点数
"^(-?\\d+)(\\.\\d+)?$"
//浮点数
"^[A-Za-z]+$"
//26个英文字母组成的字符串
"^[A-Z]+$"
//26个英文字母的大写组成的字符串
"^[a-z]+$"
//26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"
//由数字和26个英文字母组成的字符串
"^\\w+$"
//由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"
//email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"
//url
"^[A-Za-z0-9_]*$"

正则表达式基础知识

^ 匹配一个输入或一行的开头,/^a/匹配"anA",而不匹配"An a" 
$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"anA" 
* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa 
+ 匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa 
? 匹配前面元字符0次或1次,/ba?/将匹配b,ba 
(x) 匹配x保存x在名为$1...$9的变量中 
x|y
匹配x
{n} 精确匹配n 
{n,}
匹配n次以上 
{n,m}
匹配n-m 
[xyz]
字符集(character set),匹配这个集合中的任一一个字符(或元字符
[^xyz] 不匹配这个集合中的任何一个字符 
[\b]
匹配一个退格符 
\b
匹配一个单词的边界 
\B
匹配一个单词的非边界 
\cX
这儿,X是一个控制符,/\cM/匹配Ctrl-M 
\d 匹配一个字数字符,/\d/ = /[0-9]/ 
\D 匹配一个非字数字符,/\D/ = /[^0-9]/ 
\n 匹配一个换行符 
\r
匹配一个回车符 
\s
匹配一个空白字符,包括\n,\r,\f,\t,\v 
\S
匹配一个非空白字符,等于/[^\n\f\r\t\v]/ 
\t 匹配一个制表符 
\v
匹配一个重直制表符 
\w
匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9] 
\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值