• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
qiqi105
博客园    首页    新随笔    联系   管理    订阅  订阅

正则表达式

每一个正则表达式都是由元字符和修饰符组成的

元字符:\d

常用的元字符:

\:代表转义符
^:以某一个元字符开始
$:以某一个元字符结尾

.:除了\n以外的任意字符,去除换行符

\n:换行符

():分组

[^1|3]:除了1和3的其他

[.]:确定是一个点

\D:除了数字以外的其他字符

\b:匹配一个边界符

\w:数字,字母,下划线的任意一个字符[0-9a-zA-Z_]

\s:匹配一个空白符,一个制表符(tab键),空格,换页符

量词元字符:6个

*:代表出现次数的元字符,表示出现0到多次,0,1,2,3,可以不出现

+:出现1到多次

?:出现0或者一次

{n}:出现n次

{n,}:出现n到多次

{n,m}:出现n到m次

d:代表0-9的数字,D:代表

修饰符:

g:全局global,全局匹配

i:忽略大小写匹配

m:多行匹配

 

 

 

//exec

var reg=/\d+?/g;
var str="fgwhfek29311bjfy49857311p5283ywe7ty";
var ary=[];
var res=reg.exec(str);
while(res){
ary.push(res[0]);
res=reg.exec(str);
}
console.log(ary);

 ?:量词取消正则捕获的贪婪性

//match

 

console.log('-------');
var reg=/\d+?/g;
var str="fgwhfek29311bjfy49857311p5283ywe7ty";
var ary=[];
var res=str.match(reg);

 

var reg=/^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(\d|X)$/;
console.log(reg.exec('412420198309102342'));

"?:":只匹配不捕获

 

var reg=/^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(?:\d{2})(?:\d)(?:\d|X)$/;
console.log(reg.exec('412420198309102342'));
var reg=/^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(?:\d{2})(?:\d)(?:\d|X)$/;
console.log('412420198309102342'.match(reg));
var reg1=/qiqi(\d+)/g;
var str="qiqi123qiqi0998qiqi8239";
console.log(reg1.exec(str));
console.log(reg1.exec(str));
console.log(reg1.exec(str));
console.log(str.match(reg1));
/*
(6) ["412420198309102342", "41", "2420", "1983", "09", "10", index: 0, input: "412420198309102342"]
["412420198309102342", "41", "2420", "1983", "09", "10", index: 0, input: "412420198309102342"]
["qiqi123", "123", index: 0, input: "qiqi123qiqi0998qiqi8239"]
["qiqi0998", "0998", index: 10, input: "qiqi123qiqi0998qiqi8239"]
["qiqi8239", "8239", index: 21, input: "qiqi123qiqi0998qiqi8239"]
["qiqi123", "qiqi0998", "qiqi8239"]
*/

var reg=/([a-z])([a-z])\2\1/;
console.log(reg.test('abba'));

 

var reg=/([a-z])([0-9])(.)\1\3/;
console.log(reg.exec('a0eae'));

posted @ 2018-01-15 13:49  qiqi105  阅读(203)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3