[請問] regexp的replace?

作者: vernc (cralvin)   2020-10-29 13:42:29
[FL-clover、door、(天満春華)]返せ、かわり、○○で。(東方)
[FL-clover,door,(天満春華)]返せ、かわり、○○で。(東方)
如上例想把[]範圍內的n個、取代成, n不固定
^([^\n[]*?\[[^]]*?)、([^]]*\])
$1,$2
上面一次只能取代一個,請問要怎才能處理n個?
thx
作者: cutekid (可愛小孩子)   2020-10-29 14:36:00
、(?=[^]]*])
作者: art1 (人,原來不是人)   2020-10-29 23:15:00
原來任意字元還有 [^] 這種表示法喔?但還是看不懂為何最後的 ] 的前面還要加上 ]* 才能限定只找到在 ] 前方的頓號
作者: LPH66 (-6.2598534e+18f)   2020-10-29 23:38:00
[^]] 抓出一個不是 ] 的字, 加 * 抓出零至多個不是 ] 的字之所以可以這樣寫是因為, 雖然 ] 在 [ 之後是特殊字元但 [^] 是沒有意義的, 所以規定如果在 [^ 之後馬上看到 ]就當它是普通的 ], 這樣 [^]] 就能解釋成不是 ] 的字
作者: art1 (人,原來不是人)   2020-10-30 06:22:00
感謝解說,看來網站上的解析是錯誤的

Links booklink

Contact Us: admin [ a t ] ucptt.com