100分求正则表达式 急。在线等

snake1220 中国卡网 CTO  2008-03-24 04:56:31
有一个字符串

$str="1fdsafdsa2fdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsaf1fdsafdsa21fdsafds2";


我现在要 把所有 1 和 2之间的 内容 存入一个数组里面

正则表达式怎么写
...全文
149 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
striker_un 2008-03-26
呵呵,仔细一看,还有细节,有意思.
回复
striker_un 2008-03-26
来晚了,可惜,九楼正解.
回复
Mistruster 2008-03-25
$str="1fdsafdsa2fdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsaf1fdsafdsa21fdsafds2";
print_r(split(' ',trim(str_replace(array('1','2'),' ',$str))));
这个不符合吧,这样会把1和1之间,2和2之间,1和2之间,2和1之间的都包括了,而不是楼主的1和2之间


preg_match_all('/1(.+)2/U',$str,$matches);
print_r($matches[1]);
这个看似可以,但如果中间有连续两个1就会截错了(x1xxx1xxx2x这样的)


我来写一个,呵呵
preg_match_all('/1([^1.]+)2/U',$str,$matches);
print_r($matches[1]);
回复
myvicy 2008-03-24
preg_match_all('/1(.*?)2/U',$str,$matches);
print_r($matches[1]);
回复
mrshelly 2008-03-24


<?php
//By mrshelly
$str="1fdsafdsa2fdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsa1fdsafdsa2fdsafdsaf1fdsafdsa21fdsafds2";
print_r(split(' ',trim(str_replace(array('1','2'),' ',$str))));
?>

回复
oonxt 2008-03-24
说详细点嘛~~~
回复
yiwusuo 2008-03-24
preg_match_all('/1(.+)2/U',$str,$matches);
print_r($matches[1]);
回复
myvicy 2008-03-24
等等HOKEE
回复
snake1220 2008-03-24
怎么写呀。。帮帮忙
回复
myvicy 2008-03-24
能写的。
回复
snake1220 2008-03-24
????

这样的正则能写吗?
回复
兔子党-连长 2008-03-24
-d
回复
renjun24 2008-03-24
这也行,正则?
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-03-24 04:56
社区公告
暂无公告