簡體   English   中英

正則表達式匹配模式或匹配所有其他內容-匹配優先級問題?

[英]Regex to match pattern or match everything else - match precendence issue?

我試圖寫一個正則表達式,將使用這樣的東西

/([;\.])|([\s\S]+)/gi

拆分這個

a.b.cad0i2!--as.d;e;f;g00))(

進入這個

['a','.','b','.','cad0i2!--as','.','d',';','e',';','f',';','g00))(']

即。 原始字符串中的所有內容都位於最終數組中,輸入正則表達式只是列出了一組復雜的潛在定界符,我不想重復正則表達式中的定界符列表。

這可能嗎?

使用string.match函數。

> "a.b.cad0i2!--as.d;e;f;g00))(".match(/[^;.]+|[;.]/g)
[ 'a',
  '.',
  'b',
  '.',
  'cad0i2!--as',
  '.',
  'd',
  ';',
  'e',
  ';',
  'f',
  ';',
  'g00))(' ]

[^;.]+匹配任何字符,但不匹配; . 一次或多次。

| 要么,

[;.]比賽; .

試試這個代碼:

 var re = /(?=([.;])(?=[^.;]+))/gi; var str = 'abcad0i2!--as.d;e;f;g00))('; var res = []; var result = str.split(re); for (var letter of result) { res.push(letter.replace(/^[.;](?=.+)/, '')); } alert(res); 

結果:

a,.,b,.,cad0i2!--as,.,d,;,e,;,f,;,g00))(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM