js正则匹配以{开头,以}结尾的表达式怎么写?-附源码

  • A+
所属分类:Web前端
摘要

基本知识 1、正则表达式组成 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

基本知识

1、正则表达式组成

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

正则表达式 = 普通字符+特殊字符(元字符)

2、匹配符

字符匹配符用于匹配某个或某些字符

名词解析:字符簇

在正则表达式中,通过一对方括号括起来的内容,我们就称之为“字符簇”,其表示的是一个范围,但是实际匹配时,只能匹配固定的某个字符。

[a-z] :匹配小写字母从a-z中的任一字符

[A-Z] :匹配大写字母从A-Z中的任一字符

[0-9] :匹配数字从0-9任一字符,相当于d

[0-9a-z] :匹配数字从0-9或小写字母从a-z任一字符

[0-9a-zA-Z] :匹配数字从0-9,小写字母从a-z或者是大写字母从A-Z的任一字符

[abcd] :匹配字符abcd中的任一字符

[1234] :匹配数字1234中的任一字符

在字符簇中存在一个特殊符号^(脱字节),脱字节在字符簇代表取反的含义

[^a-z] :匹配除小写字母从a-z以外的任一字符

[^0-9] :匹配除数字从0-9以外的任一字符

[^abcd] :匹配除abcd以外的任一字符

在正则表达式中还有一类特殊字符,如下所示:

d :匹配一个数字字符,用字符簇表示[0-9]

D :匹配一个非数字字符,也可以使用字符簇[^0-9]或[^d]来表示

w :匹配包括下划线的任何单词字符,用字符簇[0-9a-zA-Z_]

W :匹配任何非单词字符,[^0-9a-zA-Z_]或[^w]

s :匹配任何空白字符,空格、制表符、换行符都可以通过s匹配

S :匹配任何非空白字符,[^s]

.(我是一个点号) :匹配除 "n" 之外的任何单个字符

 

我们经常需要获得某个标签开始和结束之间的内容,javascript如何实现获得以{开头,以}结尾的内容呢?这里还是得用到正则表达式,我们看看具体怎么实现?

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <title>js正则匹配以{开头,以}结尾怎么写?</title>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <script type="text/javascript"> var str = "{ 'name':'Bill Gates', 'age':62, 'city':'Seattle' },{ 'name':'divde', 'age':54, 'city':'Xian' }"; var res = str.match(/{.*?}/g) ;  //  s 会被识别成正则表达式   要进行转义 console.log(res); // ["{ 'name':'Bill Gates', 'age':62, 'city':'Seattle' }", "{ 'name':'divde', 'age':54, 'city':'Xian' }"] </script> </body> </html>

以上就是js正则匹配以{开头,以}结尾的写法,是不是很简单呢?
内容参考网站:我爱捣鼓(http://www.woaidaogu.com)