JavaScript之正则表达式语法

量词
通过量词可以设置一个内容出现的次数
量词只对它前边的一个内容起作用
{n} 正好出现n次
{m,n} 出现m-n次
{m,} m次以上

//创建一个正则表达式检查一个字符串中是否含有aaa
var reg = /a{3}/;//3个连续的a
console.log(reg.test("aaaabbbc"));返回TRUE
 var reg = /ab{1,3}c/; //检查b是否出现1-3次,大括号内的量词只对前一个内容起作用
console.log(reg.test("aaaabbbc"));返回TRUE
reg = /ab{3,}c/;//检查b是否出现3次以上
console.log(reg.test("aaaabbbc"));//返回TRUE

n+ 匹配任何包含至少一个 n 的字符串。相当于{1,}
n* 匹配任何包含零个或多个 n 的字符串。相当于{0,}
n? 匹配任何包含零个或一个 n 的字符串。相当于{0,1}

^ 表示开头
$ 表示结尾
reg = /^a/; //匹配开头的a
reg = /a$/; //匹配结尾的a
console.log(reg.test("abcabca"));
 如果在正则表达式中同时使用^ $
则要求字符串必须完全符合正则表达式reg = /^a$/;这样就表示字符串必须是a

. 表示任意字符
在正则表达式中使用\作为转义字符
\. 来表示.
\\ 表示\
注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,如果要使用\则需要使用\\来代替

\w 任意字母、数字、_ [A-z0-9_]
\W 除了字母、数字、_ [^A-z0-9_]
\d 任意的数字 [0-9]
\D 除了数字 [^0-9]
\s 空格
\S 除了空格
\b 单词边界
\B 除了单词边界

创建一个正则表达式检查一个字符串中是否含有单词child    
reg = /\Bchild\B/;
console.log(reg.test("hello child ")); //返回false
var str = "              he      llo   ";   
//去除开头的空格
str = str.replace(/^\s*/, "");
//去除结尾的空格
str = str.replace(/\s*$/, "");
//^\s*|\s*$/g 匹配开头和结尾的空格
str = str.replace(/^\s*|\s*$/g,"");
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容