使用Perl正则又一例

向后引用,不知道有多少人使用过,以前写过一篇介绍Perl正则的文章,这里又来显摆一下......

如果要找一个词在一个句子中有规律的出现,如果出现就打印出来,如果用C语言写,估计代码也会有个几千行,如果考虑分词技术,则是一项特别复杂的工程,Perl的向后引用则可以方便的实现其所要功能.
下面是一个例子,$str可以使用汉字来匹配,当然,.*是一种极耗资源的模糊匹配,如果只需要指定特殊的字符集就可以了.

#!/usr/bin/perl

use strict;
use warnings;

my $str = "11111.0.11111";

if ($str =~ /(.+)(.*)\1/)
{
my $word = $1;
my $spec = $2;
print "#" . $word . "#" . $spec . "#\n";
if (length($spec) < 5 && length($word) > 2)
{
print "#" . $word . "#" . $spec . "#\n";
}
}

Categories

| | 评论(0)

Post a comment

关于此日记

此日记由Cnangel发表于2007年5月27日 20:21

此Blog上的上一篇日记IE vs FF CSS 兼容要点

此Blog上的下一篇日记规范化程序编写

主索引归档页可以看到最新的日记和所有日记。

2008年10月

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Powered by Movable Type 4.21-zh-cn