我想用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.
答案 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>\[^\[\]+)