免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2201 | 回复: 7
打印 上一主题 下一主题

Perl如何用正则来抽取一个长字符串里的一些相似字符? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-06 17:26 |只看该作者 |倒序浏览
$string = "(999999 :pref p1 8888 :type t1 7777777777777 66666666666 :comment ppp 5555555555555)";

我想把:XXXX 这样的内容抽取出来放入一个数组,该如何处理啊?

请指教

论坛徽章:
0
2 [报告]
发表于 2006-03-06 18:29 |只看该作者
什么意思?

论坛徽章:
0
3 [报告]
发表于 2006-03-06 18:37 |只看该作者
原帖由 milk_ 于 2006-3-6 17:26 发表
$string = "(999999 :pref p1 8888 :type t1 7777777777777 66666666666 :comment ppp 5555555555555)";

我想把:XXXX 这样的内容抽取出来放入一个数组,该如何处理啊?


Hi,

if you mean put all beginning with ":" into an array,
maybe use this pattern:
    my $pattern = ':.+[^:]';
    my @matches = $string =~ /$pattern/g;


Just 4 Fun, ulmer

论坛徽章:
0
4 [报告]
发表于 2006-03-06 20:09 |只看该作者
原帖由 ulmer 于 2006-3-6 18:37 发表


Hi,

if you mean put all beginning with ":" into an array,
maybe use this pattern:
    my $pattern = ':.+[^:]';
    my @matches = $string =~ /$pattern/g;


Just 4 Fun, ulmer



    my @matches = $string =~ /$pattern/g;

great ,我就是想知道符合条件的string如何放到一个数组里头去.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-03-07 08:40 |只看该作者
如果都是固定的..直接用split(/:/,$string);不就好了??
Basin 该用户已被删除
6 [报告]
发表于 2006-03-07 16:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2006-03-07 21:01 |只看该作者
原帖由 ulmer 于 2006-3-6 18:37 发表


Hi,

if you mean put all beginning with ":" into an array,
maybe use this pattern:
    my $pattern = ':.+[^:]';
    my @matches = $string =~ /$pattern/g;


Just 4 Fun, ulmer


楼上的,能够满足要求么?

我写了一个

  1. $string = "(999999 :pref p1 8888 :type t1 7777777777777 66666666666 :comment ppp 5555555555555)";

  2. my $pattern = '((.)\2+)';
  3. my @matches = $string =~ /$pattern/g;
  4. my $count = 0;

  5. while ( $count <= $#matches)
  6. {
  7.                 push @temp, $matches[$count];

  8.                 $count = $count + 2;
  9. }

  10. print "@temp";
复制代码

[ 本帖最后由 POLOGG 于 2006-3-7 21:23 编辑 ]

论坛徽章:
1
射手座
日期:2013-09-30 15:24:05
8 [报告]
发表于 2006-03-08 10:51 |只看该作者
汗俺都看不明白!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP