第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符通過正則split拆分為數(shù)組時,部分內(nèi)容出現(xiàn)重復拆分,求教問題出現(xiàn)原因?。?!

字符通過正則split拆分為數(shù)組時,部分內(nèi)容出現(xiàn)重復拆分,求教問題出現(xiàn)原因?。?!

牧羊人nacy 2019-03-14 15:19:34
一個字符串通過正則拆分為數(shù)組,出現(xiàn)部分字符串元素重復拆分,求教各位前輩原因出在哪里?var new_str = '[撇132313嘴][色]{}“——[尷13221尬][冷132123汗][抓123123狂]123123[撇嘴][NO]123[色]123[OK]';var test_reg = /((\[NO\])|(\[OK\])+|\[[\u4e00-\u9fa5]{1,3}\])/g;期望的拆分結(jié)果是:["[撇132313嘴]", "[色]", "{}“——[尷13221尬][冷132123汗][抓123123狂]123123", "[撇嘴]", "[NO]","123", "[色]", "123", "[OK]"]但實際拆分結(jié)果是: ["[撇132313嘴]", "[色]", "{}“——[尷13221尬][冷132123汗][抓123123狂]123123", "[撇嘴]", "[NO]", "[NO]", "123", "[色]", "123", "[OK]", "[OK]"]字符串中[NO]和[OK]拆分了兩次,求教各位前輩幫助分析原因出在哪里!?。?!以下是全部代碼。<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>Document</title></head><body>    <script>        //---1    /\[((NO)|(OK)+|[\u4e00-\u9fa5]{1,3})\]/g        //---2    /(\[(NO)|(OK)+|\[[\u4e00-\u9fa5]{1,3}\])/g        var test_reg = /((\[NO\])|(\[OK\])+|\[[\u4e00-\u9fa5]{1,3}\])/g;        var new_str = '[撇132313嘴][色]{}“——[尷13221尬][冷132123汗][抓123123狂]123123[撇嘴][NO]123[色]123[OK]';        var new_arry = new_str.split(test_reg);        var arry = [];        for (var i = 0; i <= new_arry.length; i++) {            if (new_arry[i] !== '' && new_arry[i] !== undefined) {                arry.push(new_arry[i]);            }        }        console.log(arry);    </script></body></html>
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

你這是正則表達式多個()捕獲的原因,你改成下面這樣就好了

/(\[NO\]|\[OK\]|\[[\u4e00-\u9fa5]{1,3}\])/g;


查看完整回答
反對 回復 2019-03-18
?
守著星空守著你

TA貢獻1799條經(jīng)驗 獲得超8個贊

哈哈,測試了半天,終于發(fā)現(xiàn)了。你的正則表達式有問題:
正確的正則表達式為:
test_reg = /([\[]NO[\]])|([\[]OK[\]])+|[\[][\u4e00-\u9fa5]{1,3}[\]]/g;

new_str = '撇132313嘴{}“——尷13221尬[抓123123狂]123123撇嘴123[色]123[OK]';

test_reg = /([[]NO[]])|([[]OK[]])+|[{1,3}[]]/g;

a= new_str.split(test_reg);

< Array (16) = $3
0 "[撇132313嘴]"
1 undefined
2 undefined
3 "{}“——尷13221尬[抓123123狂]123123"
4 undefined
5 undefined
6 ""
7 "[NO]"
8 undefined
9 "123"
10 undefined
11 undefined
12 "123"
13 undefined
14 "[OK]"
15 ""

PS: 至于為什么有問題,哪里有問題,你把一個個正則拆開來匹配就會發(fā)現(xiàn)了。


查看完整回答
反對 回復 2019-03-18
  • 2 回答
  • 0 關注
  • 713 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號