看板 RegExp 關於我們 聯絡資訊
[FL-clover、door、(天満春華)]返せ、かわり、○○で。[2007年、2009年](東方) [FL-clover,door,(天満春華)]返せ、かわり、○○で。[2007年、2009年](東方) 如上例若限定只將第一個[]範圍的n個、取代成, n不固定 ^([^\n[]*?\[[^]]*?)、([^]]*\]) $1,$2 上面一次只能取代一個,請問要怎才能處理n個? (?=\[*)(、)(?=[^]]*\]) 這行也不對 那位大大能教一下嗎 thx -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.242.18.104 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1604135640.A.506.html
art1: 後面加上有任意字元與 [ 開頭的條件應該就能只處理第一個[] 11/01 12:41
art1: 應該說除了 [ 以外的任意字元,直到遇到第二個 [ 11/01 12:42
art1: 像這樣 、(?=[^]]*][^[]+\[) 11/01 12:44
試了下、上面會match第一行的全部五個、請問怎改會match前二個?
art1: 、(?=[^]]*、[^]]*、[^]]*、[^]]*][^[]+\[) 11/02 06:41
art1: 不過這部份只能手動增減去處理了,沒辦法動態處理 11/02 06:41
art1: 上面那行只能處理五個中的前兩個,五這個數字有變化的話,要 11/02 06:42
art1: 手動增減 [^]]*、這組的數量,你看上面就有三組,五減三剩二 11/02 06:43
match 0個? 請問能改這行、把前&後定位好卡住在第一個[]範圍內嗎? (?=\[*)(、)(?=[^]]*\]) ※ 編輯: vernc (1.175.228.217 臺灣), 11/04/2020 22:57:42
art1: 你那一行依舊會找出第二組 [] 內的逗號,甚至連在 [] 以外的 11/04 23:36
art1: 逗號都會被找到 11/04 23:36
art1: match 0 個是因為你沒把第一組 [] 內的逗號增加到超過三個 11/04 23:38
art1: [FL-clover、door、(天満春華)FL-clover、door、(天満春華)] 11/04 23:38
art1: 像這樣第一組 [] 內有四個逗號,我那規則就能找到一個逗號 11/04 23:39
art1: *找到第一個逗號 11/04 23:39
art1: 如果有五個逗號,就能找出最前面的兩個逗號 11/04 23:40
art1: 應該說頓號才對 11/04 23:40
art1: 誤會你說的全部五個的意思了,不過我用 、(?=[^]]*][^[]+\[) 11/04 23:42
art1: 是只找到第一組 [] 內的頓號,不會五個全部找到 11/04 23:43
wale,找到兇手了 我是用ultraedit測的,沒加上斷行第一行五個會全部找到 要斷行才行 、(?=[^]]*][^\n[]+\[) 能將前面也定位嗎?不然像下面就會出錯 ○、○[FL-clover、door、(天満春華)]返せ、かわり、○○で。[2007年、2009年] ○、○[FL-clover,door,(天満春華)]返せ、かわり、○○で。[2007年、2009年] ※ 編輯: vernc (1.175.100.247 臺灣), 11/07/2020 01:59:21
art1: 要排除 [ 前面的頓號,必須像上面提的手動控制頓號數量才能 11/07 20:52
art1: 做到,而做到之後也必須取代功能夠強大才有可能進行替換,也 11/07 20:54
art1: 就是必須支援取代 group 1 或 group 2 的功能,但一般軟體應 11/07 20:56
art1: 該只會寫到支援 group 0 吧? 11/07 20:56
art1: (?<=\[)(?:.+?)(、)(?:.+?)(、)(?=[^]]*\][^\n[]+\[) 11/07 20:58
art1: 像這樣是兩組頓號 (?:.+?)(、)(?:.+?)(、) 11/07 20:59
art1: (?<=\[)(?:.+?)(、)(?=[^]]*\][^\n[]+\[) 這樣就是一組 11/07 20:59
art1: (?:.+?)(、) 11/07 21:00