我正在嘗試開發一個正則表達式,它在連字符的第一個實例之前拉出前幾個字符,然後在第一個連字符後保存第二組元素。排除第一個連字符後的連字符
這裏的正則表達式:
^([^-]*)(?(?=-)(\S.*)|())
而且這裏有幾個測試案例:
SSB x Dj Chad - Crazy Beat - Tarraxo
Dj [R]afaa [F]ox -Tarraxo Do Inicio Das Aulas (Nova Escola Producões)
Dj Snakes Share - MaloncyBeatz - Perfecto
Tarraxo Das Brasileiras [2014] [TxiGa Pro]
IF語句處理最後一個條件很好,但我的問題是,在最初的幾個項目,則返回第二組使用連字符而不是排除它。
換句話說: Dj Snakes Share - MaloncyBeatz - Perfecto
應該返回:
- 組1:
Dj Snakes Share
- 組2:
MaloncyBeatz - Perfecto
相反,第2組爲:- MaloncyBeatz - Perfecto
更新
https://regex101.com/r/2BQPNg/12
使用^([^-]*)[^-]\W*(.*)
,它的工作原理,但它提出的最後一種情況下(在沒有連字符)的問題。它不包括]
。
好像它是您的測試鏈接,現在的工作。 – tima
@tima最後一種情況現在排除字符串 – Adib