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

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

js正則表達式匹配以特殊字符開始和結束問題

js正則表達式匹配以特殊字符開始和結束問題

縹緲止盈 2019-03-14 18:15:43
現(xiàn)在需要正則表達式匹配以#或者 @開始并且以#或者 @結束的字符,例如#你好##234:wdwww#+@eeur_222@需要獲取結果為你好,234:wdwww,eeur_222,求問如何實現(xiàn)。
查看完整描述

7 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

var arr = [];

var str = "#你好##234:wdwww#+@eeur_222@";

str.replace(/[#@]([^#@]+)[#@]/g, function (a, $1) {

    arr.push($1);//$1為匹配結果 '你好', '234:wdwww' 等

});

console.log(arr)//[ "你好", "234:wdwww", "eeur_222" ]

不知道你是不是#開頭必須#結尾 還是@結尾也可以

頭部和尾部一致:


var arr = [];

var str = "#你好@#234:wdwww#+@eeur_222@";

str.replace(/([#@])([^#@]+)\1/g, function (a, $1,$2) {

    arr.push($2)

});

console.log(arr)//[ "234:wdwww", "eeur_222" ]


查看完整回答
反對 回復 2019-03-19
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

https://img1.sycdn.imooc.com//5c90bd970001ddfb08000274.jpg

查看完整回答
反對 回復 2019-03-19
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

"#asdfasdf# #asdf# 哈哈哈 @阿斯頓發(fā)斯蒂芬 @ # #".match(/#[^#]+#/g)

是這個意思嗎?


查看完整回答
反對 回復 2019-03-19
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

str.split(/[#@]/).join("").split(/^[#@]/).join("")


查看完整回答
反對 回復 2019-03-19
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

可以試下。

/#(.+?#)|@(.+?@)/g

分析:從左到右

  • .+ 匹配除換行符 n 之外的任何單字符 「1次以上」

  • ?# 非貪婪查找,第一個#停止匹配

  • | 右側是另一種匹配規(guī)則,匹配@


查看完整回答
反對 回復 2019-03-19
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

第一種:


var result=str.match(/#[^#]*#|@[^@]*@/g).map(function(item,index){

 return item.replace(/^[#@]|[#@]$/g,'');

});

第二種:


var arr=[];

var reg=/#([^#]*)#|@([^@]*)@/g;

var matchs=null;

while((matchs=reg.exec(str))!=null){

    arr.push(matchs[1]?matchs[1]:matchs[2]);

}


查看完整回答
反對 回復 2019-03-19
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

'#你好##234:wdwww#+@eeur_222@'.match(/#(.+?#)|@(.+?@)/g).map(str=>str.slice(1,-1))

這邊應該可以達到題主的要求,最早沒有使用非貪婪匹配,導致一直匹配到最大子串


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號