我已经格式化的文本是这样的:正则表达式匹配格式的文本在PHP
Record
name=aaa
age=16
info=blabla bla
Record
name=bbb
age=15
info=foo bar foo bar
想将它转换成数组与PHP正则表达式。到目前为止,我已经试过:
preg_match_all("/Record.*\n(?m:^(.+)=(.+)$)+/",$text,$matches);
,但只抓到"Record name=aaa"
和"Record name=bbb"
想知道为什么+
不会在这种情况下工作。那么我应该如何在这里形成我的模式?
什么是*?m:*代表?它是否为多行表达而不匹配? – Rolice
根据这个http://www.regular-expressions.info/refadv.html它应该是分组模式的多行修饰符。我使用它,所以'^'和'$'可以匹配一行文字 –
您需要'/ s'修饰符而不是'/ m' –