js正則匹配以{開頭,以}結尾的表達式怎么寫?-附源碼


基本知識

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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM