搜尋

首頁  >  問答  >  主體

javascript - js怎麼用正規表示來取得圓括號中的內容?

var str="deleteChild(236737)";
例如取得到圓括號中的數字 236737 其它不要。
js正規怎麼寫。
js陣列太麻煩了。因為圓括號的中間數字會有變化的。

滿天的星座滿天的星座2752 天前693

全部回覆(6)我來回復

  • 某草草

    某草草2017-05-19 10:42:53

    使用 d+ 表示任意整整。 為了符合到特殊位置的內容,也用到了正規表示式中group的概念(在正規表示式中表現出來就是被一對小括號括起來)。

    javascript正規表示式快速的表示方式是 用「/」括起來, 例如 /正则表达式内容/,它有個exec方法,傳入參數為待檢查的字串。
    exec方法執行結果傳回一個陣列或null值(str中沒有符合正規表示式的內容時)。

    如果正規表示式中含有group, 並且也匹配到了內容,那麼返回結果數組中,group表示的文本內容會出現在結果數組的第2個數組元素和以後的數組元素中(當正則表達式中含有多個group時)。

    var str = "deleteChild(236737)";
    var result = /\((\d+)\)/.exec(str);
    
    if(result.length > 1) {  //加这个判断是以防字符串中没有匹配的内容,那么result[1]会抛错!
       console.log("您想要的结果是:" +result[1]); //输出 236737。 
    } else {
       console.log("字符串中没有符合条件的数字");
    }

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:42:53

    雷雷

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:42:53

    可以用字串的 split 方法。 split() 方法用于把一个字符串分割成字符串数组。

    var num1=str.split("(")  //["deleteChild", "236737)"]
    var num2=num1[1].split(")") //["236737", ""]
    var result=num[0]

    回覆
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:42:53

    我的答案也是利用高票答案的原理,不過我個人覺得我這樣寫可能會通俗易懂點

    var str = "deleteChild(236737)";
    var reg= /\((\d+)\)/;
    
    if(reg.test(str)){ //如果匹配上直接获取括号里的内容
        console.log(RegExp.) //236737
    }

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:42:53

    雷雷

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-19 10:42:53

    同意4樓的寫法, 這樣簡單方便.
    系統學習正則表達式, 傾情推薦正則表達式前端使用手冊| louis blog
    sf鏈接: 正則表達式前端使用手冊- 路易斯聊前端- SegmentFault
    原文目錄超級長長,總結得灰常全面.

    回覆
    0
  • 取消回覆