写了一个perl脚本,正则表达式匹配时总是报错,不知为什么? perl脚本如下: [ya@linux ~]$ vi perl.script 1 while ($line = <>) 2 { 3 $tmp = $line; 4 print "$line"; 5 if ($line =~ s/(\d\d\d)+$/a/g) 6 { 7 print " After the rex: \"(\\d\\d\\d)+\$\",\n"; 8 print " now changes to $line"; 9 print " a...
by ubuntun - Shell - 2008-01-16 12:24:58 阅读(1863) 回复(5)
现有文件aa.txt 把通过perl把上边内容替换为 我已经用vi搞定了。现在试着用perl,但碰到一些问题。关于正则匹配的问题 。 #!/usr/bin/perl -w open(OPENF1,"aa.txt") || die "can't open file!"; open(WRITEF1,">bb.txt") || die "cant't open file! "; w...
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空白行的正则表达式:\n\s*\r 匹配HTML标记的正则表达式:]*>.*?|,这个得改改 匹配首尾空白字符的正则表达式:^\s*|\s*$ 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线): ^[a-zA-Z][a-zA-Z...
$test = "你好@@测试[[[]]测试]&^*%$#]].torrent"; 想把$test里面不是汉字,字母和数字的字符全部用@符号替换,怎么写这个匹配模式。 主要是非汉字的匹配。望高手指点!谢了。
$str = "I love perl"; $str =~ m/perl/; # 表示如果在 $str 中发现 "perl" 字符串,则返回 "1" 否则返回 "0"。 print $str; Sample Text # 我的结果是 I love perl, 是版本问题吗?
程序中一段语句是这样的,但不理解正则表达式的内容,请高手帮解读一下 sub getL2Info { my $mount_out = `mount`; $mount_out =~ m|^(\S+)\s+dfcxact.*(/L2/.+?)[/ ]|m; return $1, $2; } mount的输出 szx4l1701 dfcxact /L1/szx4l1701 cifs Sep 16 13:01 uid:0301,gid:1111,fmode:00775 szx4l1702 dfcxact /L1/szx4l1702 cifs Sep 16 13:01 uid:0301,gid:1111,fmode:00775 szx4l1703 ...
库有个字段存在有"$"这样的值。取出字段后,要和其他的字串进行匹配。 库里取的值保存在$strdb中,其他字符串保存在$str里 我写的 $str =~ m/$strdb/ 把$str中没有包含"$"的值也匹配上了。 如何能排除这种匹配,功能。 试着在匹配前先用"\"过滤,搞了半天没成功。 高手帮帮忙,多谢!
例如
[code]
#$mystring='#include "stdio.h"';
$mystring='#include
有一个很大的字符串,格式类似如下: a=string1&b=1,2&....a=string2&b=1,3&.... 现在想用正则表达式把a的值string1,string2和b的值1,2和1,3等取出来,应该如何处理? PHP中有preg_match_all将他们保存到一个数组中,perl应该如何做?谢谢
我有这样的一些文本 XXX(PU 。) (PU “)XXX 或 XXX(PU ?) (PU “)XXX 用这样的正则匹配: $_ =~ /(.*)(\(PU 。\)\s*\(PU “\))(.*)/ 得到的$2怎么是等于$2=(PU 。 $3=) (PU “)XXX 我是想要一次得到(PU 。) (PU “)或(PU ?) (PU “) 谢谢!