正则表达式从歌词中获取Verses和Chorus

时间:2014-08-26 11:19:01

标签: php regex preg-match-all

我想用preg_match_all创建一个包含下面歌词中所有Verses和Chorus的数组。我应该使用什么样的正则表达式?

[V1]
 Fugi, fugi de păcate, nu te-apropia, 
 Duce la pierzare calea lumii rea. 
 Fii treaz şi te roagă, fii încrezător, 
 Cu Isus în luptă eşti biruitor!
[C] 
 Vino-n rugăciune, 
 spune-I starea ta, 
 In Isus te-ncrede,
 El te va-ajuta.

2 个答案:

答案 0 :(得分:1)

您可以尝试:

preg_match_all('#\[([VC]\d?)\]([^\[]*)#s', $s, $matches);

仅匹配0到9的经文,但可以使用*修饰符轻松更新。

答案 1 :(得分:-1)

去获得任何经文:\[V\[0-9\]\]\[^\[\]+。合唱团\[C\]\[^\[\]+

要省略[Vx]和[C],请使用Named Capturing Groups\[V\[0-9\]\](?P=<music>\[^\[\]+)\[C\](?P=<music>\[^\[\]+)