javascript - Regex分割字串的問題

來源:互聯網
上載者:User
我想對字串“1,2,,,'3,4',5”,實現分割結果為['1','2',‘’,‘’,‘3,4’,'5']
請教Regex該怎麼寫

============================================================
我自己用正則實現的,php代碼:

var_dump(preg_split("/[,]?'([^']+)'[,]?|[,]+?/", "1,2,6,7,,'3,4',5,8,9", 0, PREG_SPLIT_DELIM_CAPTURE));

結果:

array(9) {  [0]=>  string(1) "1"  [1]=>  string(1) "2"  [2]=>  string(1) "6"  [3]=>  string(1) "7"  [4]=>  string(0) ""  [5]=>  string(3) "3,4"  [6]=>  string(1) "5"  [7]=>  string(1) "8"  [8]=>  string(1) "9"}

不知道這樣是否有問題

回複內容:

我想對字串“1,2,,,'3,4',5”,實現分割結果為['1','2',‘’,‘’,‘3,4’,'5']
請教Regex該怎麼寫

============================================================
我自己用正則實現的,php代碼:

var_dump(preg_split("/[,]?'([^']+)'[,]?|[,]+?/", "1,2,6,7,,'3,4',5,8,9", 0, PREG_SPLIT_DELIM_CAPTURE));

結果:

array(9) {  [0]=>  string(1) "1"  [1]=>  string(1) "2"  [2]=>  string(1) "6"  [3]=>  string(1) "7"  [4]=>  string(0) ""  [5]=>  string(3) "3,4"  [6]=>  string(1) "5"  [7]=>  string(1) "8"  [8]=>  string(1) "9"}

不知道這樣是否有問題

不會用正則,但這個問題可以用split()

var str = "1,2,,,'3,4',5";str.split(",");

= 0; $i--) {        $result[$i] = trim($result[$i], "'");    }    var_dump($result);

結果:

array(10) {     [0]=> string(1) "1"     [1]=> string(1) "2"     [2]=> string(1) "3"     [3]=> string(1) "4"     [4]=> string(1) "5"     [5]=> string(1) "6"     [6]=> string(0) ""     [7]=> string(0) ""    [8]=> string(0) "3,4"    [9]=> string(4) "2333" }

暫時想到是這樣,能簡化再修改。

(並不是最簡答。

提供一個思路:

var str = "1,2,,,'3,4',5";// 這裡先利用正則將字串 '3,4' 中的 `,` 先換成其他字元,如 `*`,然後再做 `split` 最後再檢查每個元素裡的 `*`,將它換回來var temp = str.replace(/'(\w)+,(\w)+'/, '$1*$2').split(','); str = temp.map(function(n){  return n.replace(/\*/, ',');});

希望有所協助~ :)

('.*')|[^,]
這樣,試試!
圖片描述

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.