2016-05-28 88 views
0

我想找到字符串,它的最後一個字符可能會或可能不存在查找字符串使用正則表達式的JavaScript

"abc,efg,ASD" 
"abc,ASD,efg" 

所以,我必須找到ASD帶或不帶「」

+0

'str.match(/ \ bASD \ b/g)'? – andlrc

+0

您是否正在尋找逗號分隔列表元素上的精確匹配?例如,「abc,efg,ASD」或「abc,ASD,efg」應該匹配(尋找ASD),但「abc,efg,ASDF」或「abc,ASDF,efg」不應該匹配? –

+0

我讀到它,就好像你需要從第一個字符串得到'ASD',從第二個字符串得到'ASD'。標準不清楚:在ASD之後獲得所有非單詞字符但是有空格('/ \ bASD [^ \ w \ s] * /')?或者一個可選的逗號('/ \ bASD,?/')? –

回答

0

這是否回答您的題?

var regex = /,ASD,?/g; 
 
var result = regex.exec("abc,ASD\nabc,ASD,dsa"); 
 
console.log(result);

1

說明

[,"](ASD)[,"] 

Regular expression visualization

這個正則表達式將執行以下操作:

  • 匹配逗號或逗號和引號之間的ASD,
  • 代替值成捕獲組1

現場演示

https://regex101.com/r/mV9vA9/1

說明

NODE      EXPLANATION 
---------------------------------------------------------------------- 
    [,"]      any character of: ',', '"' 
---------------------------------------------------------------------- 
    (      group and capture to \1: 
---------------------------------------------------------------------- 
    ASD      'ASD' 
---------------------------------------------------------------------- 
)      end of \1 
---------------------------------------------------------------------- 
    [,"]      any character of: ',', '"' 
---------------------------------------------------------------------- 
相關問題