作者WindChris (恶灵 退散)
看板perl
标题[问题] 用RegExp将字串切割
时间Thu Mar 22 18:24:08 2007
我有一列字串
$str = "|%some string 1\n|%some string 2\n|%...\n|%some string n"
也就是这里头可拆成 n 个以 |% 开头的字串
想把这字串切成阵列
我这麽写 @_ = ($str =~ m/|%.*?[^|][^%]/gs);
可是string 里有 | 这样就破功了
我是有想过用split /|%/, $str
然後再一个一个把 |% 补回去..
可是我处理的字串很大 存成档案大概 20M 这样效能会变很差
请教各位 像这种的 RegExp 应该长什麽样子?
或者根本就写不出来呢? 只能用split?
谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.143.215.28
1F:推 Andor:split /(?=\|%)/, $str 03/22 18:26
2F:→ softwind:...我也想半天 结果 我也被秒杀了... @@" 03/22 18:30
3F:推 WindChris:QQ 真的被秒杀... 我想好久说 谢谢!! m(_ _)m 03/22 18:49
4F:推 HWOARANG:split /([|]%[^|]+)/, $str 试试看吧 03/23 08:22
5F:推 WindChris:这个是不是遇到 |%str 1|asdf|%str 2 只取到|%str 1 03/23 10:14