最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于正则表达式的相关理解

来源:动视网 责编:小采 时间:2020-11-27 19:48:17
文档

关于正则表达式的相关理解

关于正则表达式的相关理解:本篇将会详解正则表达的相关知识。\d,\w,\s,[a-zA-Z0-9],\b.*,+,x{3},^,$分别是什么?\d:元字符,匹配一个数字,等价于[0-9](匹配0到9中的一个);\w:元字符,匹配字母或数字或下划线或汉字,等价于[0-9a-zA-Z_];\s:元字符,匹配任意
推荐度:
导读关于正则表达式的相关理解:本篇将会详解正则表达的相关知识。\d,\w,\s,[a-zA-Z0-9],\b.*,+,x{3},^,$分别是什么?\d:元字符,匹配一个数字,等价于[0-9](匹配0到9中的一个);\w:元字符,匹配字母或数字或下划线或汉字,等价于[0-9a-zA-Z_];\s:元字符,匹配任意


本篇将会详解正则表达的相关知识。

\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?

\d:元字符,匹配一个数字,等价于[0-9](匹配0到9中的一个);
\w:元字符,匹配字母或数字或下划线或汉字,等价于[0-9a-zA-Z_];
\s:元字符,匹配任意的空白符;
[a-zA-Z0-9]:[]规定了一个范围,匹配当中的其中一个,示例则匹配a-z/A-Z/0-9中的一个,相当于\w(除了汉字);
\b:元字符,匹配单词的开始或结束(单词边界):

var a= "hello helloworld";var reg = /\bhello\b/;
a.match(reg);//结果为"hello";

.:元字符,匹配除换行符以外的所有字符;
*:限定符,重复0次或更多次;
+:限定符,重复1次或更多次,最少1次;
?:限定符,重复0次或1次;
x{3}:限定符,x出现3次({n}重复n次;{n,m}重复n-m次(包括n,m);{n,}重复最少n次;{,m}重复最多m次);
:在[]中意为取反([abc]匹配abc中任意一个,[abc]匹配除abc外的任意字符);其他时候可以匹配字符串的开头;
$:匹配字符串的结束;(^hello&:匹配以hello开头,hello结尾的字符串)

写一个函数trim(str),去除字符串两边的空白字符

function trim(str) { return str.replace(/^\s+|\s+$/g,'') //匹配开头或结尾的空白字符,替换成'';
 }

写一个函数isEmail(str),判断用户输入的是不是邮箱

function isEmail(str) { var reg = /^[a-zA-Z\d_]+\@[a-zA-Z\d]+\.[a-zA-Z\d]+$/g; return reg.test(str);
 }

写一个函数isPhoneNum(str),判断用户输入的是不是手机号

function isPhoneNum(str) { var reg = /^1[3578]\d{9}$/g; return reg.test(str);
}

写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)

function isValidUsername(str) { var reg = /^([a-zA-Z\d_]){6,20}$/g; return reg.test(str);
}

写一个函数isValidPassword(str), 判断用户输入的是不是合法密码(长度6-20个字符,只包括大写字母、小写字母、数字、下划线,且至少包括两种)

function isValidPassword(str) { if (/^[a-zA-Z0-9_]{6,20}$/g.test(str)) { if (/^[a-z]{6,20}$/g.test(str) || /^[A-Z]{6,20}$/g.test(str) || /^[0-9]{6,20}$/g.test(str) || /^[_]{6,20}$/g.test(str)) { return false;
 }else { return true;
 }
 }else { return false;
 }
}

写一个正则表达式,得到如下字符串里所有的颜色

var re = /*正则...*/var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "console.log( subj.match(re) ) // ['#121212', '#AA00ef']
var re = /#[a-f\d]{6}/ig;var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee";console.log( subj.match(re) )

下面代码输出什么? 为什么? 改写代码,让其输出[""hunger"", ""world""]

var str = 'hello "hunger" , hello "world"';var pat = /".*"/g;
str.match(pat);
//
输出[""hunger" , hello "world""];

//正则表达式默认情况下是贪婪模式,会在满足条件的情况下尽可能多的进行匹配;
//改写代码

var str = 'hello "hunger" , hello "world"';
var pat = /".*?"/g; //添加?改成非贪婪模式,尽可能少的匹配;
str.match(pat); //[""hunger"", ""world""]

本篇对正则表达进行了相关的解释,更多相关的内容请关注Gxl网。

文档

关于正则表达式的相关理解

关于正则表达式的相关理解:本篇将会详解正则表达的相关知识。\d,\w,\s,[a-zA-Z0-9],\b.*,+,x{3},^,$分别是什么?\d:元字符,匹配一个数字,等价于[0-9](匹配0到9中的一个);\w:元字符,匹配字母或数字或下划线或汉字,等价于[0-9a-zA-Z_];\s:元字符,匹配任意
推荐度:
标签: 相关 理解 关于
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top