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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在引號(hào)之外選擇逗號(hào)的Regex

在引號(hào)之外選擇逗號(hào)的Regex

蕪湖不蕪 2019-06-17 17:36:07
我不太確定這是否可能,所以我求助于你。我想找一個(gè)正則表達(dá)式,將挑選所有逗號(hào)以外的引號(hào)集。例如:'foo' => 'bar','foofoo' => 'bar,bar'這將在第1行之后選擇單個(gè)逗號(hào)。'bar',我不關(guān)心單引號(hào)還是雙引號(hào)。有人有什么想法嗎?我覺(jué)得這是有可能的,但我的判斷力太弱了。在引號(hào)之外選擇逗號(hào)的Regex
查看完整描述

3 回答

?
拉丁的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

下面的regexes將匹配在雙引號(hào)之外的所有逗號(hào),

,(?=(?:[^"]*"[^"]*")*[^"]*$)

演示

(僅限PCRE)

"[^"]*"(*SKIP)(*F)|,

"[^"]*"匹配所有雙引號(hào)塊。也就是說(shuō),在這個(gè)buz,"bar,foo"輸入,此正則表達(dá)式將匹配"bar,foo"只有。下面是(*SKIP)(*F)使比賽失敗。然后,它移動(dòng)到旁邊的模式|符號(hào),并嘗試匹配剩余字符串中的字符。也就是說(shuō),在我們的產(chǎn)出中,模式旁邊|將只匹配后面的逗號(hào)。buz..注意,這與雙引號(hào)中的逗號(hào)不匹配,因?yàn)槲覀円呀?jīng)將雙引號(hào)部分跳過(guò)了。

演示


下面的regex將匹配雙引號(hào)中的所有逗號(hào),

,(?!(?:[^"]*"[^"]*")*[^"]*$)

演示


查看完整回答
反對(duì) 回復(fù) 2019-06-17
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

雖然可以使用regex(我和下一個(gè)人一樣喜歡濫用regexes)來(lái)破解它,但您遲早會(huì)遇到麻煩,嘗試在沒(méi)有更高級(jí)解析器的情況下處理子字符串。陷入困境的可能方法包括混合引號(hào)和轉(zhuǎn)義引號(hào)。

此函數(shù)將在逗號(hào)上拆分一個(gè)字符串,但不是在單引號(hào)或雙引號(hào)內(nèi)的逗號(hào)。它可以很容易地用額外的字符作為引號(hào)進(jìn)行擴(kuò)展(雖然像“這樣的字符對(duì)還需要幾行代碼),甚至可以告訴您,如果您忘記關(guān)閉數(shù)據(jù)中的引號(hào):

function splitNotStrings(str){
  var parse=[], inString=false, escape=0, end=0

  for(var i=0, c; c=str[i]; i++){ // looping over the characters in str
    if(c==='\\'){ escape^=1; continue} // 1 when odd number of consecutive \
    if(c===','){
      if(!inString){
        parse.push(str.slice(end, i))
        end=i+1
      }
    }
    else if(splitNotStrings.quotes.indexOf(c)>-1 && !escape){
      if(c===inString) inString=false
      else if(!inString) inString=c    }
    escape=0
  }
  // now we finished parsing, strings should be closed
  if(inString) throw SyntaxError('expected matching '+inString)
  if(end<i) parse.push(str.slice(end, i))
  return parse}splitNotStrings.quotes="'\"" // add other (symmetrical) quotes here


查看完整回答
反對(duì) 回復(fù) 2019-06-17
  • 3 回答
  • 0 關(guān)注
  • 673 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)