当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]关于Perl的模式匹配
帖子发表于 : 2008-07-26 9:18 

注册: 2008-07-22 21:11
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
请问各位高手 , 在PERL模式匹配中,如果要匹配的字符中含有括号,怎么匹配?
例如:
my $fileName = 'c:\dtest\hell (2) copy.cpp';
my $pattern = 'hell (2) copy.cpp';

print $fileName if($fileName =~ m/$pattern/g);

这样是匹配不到,请问有什么办法没有?
谢谢~ :)


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-27 0:00 
头像

注册: 2008-05-27 17:30
帖子: 44
送出感谢: 0 次
接收感谢: 0 次
\(\)试试看,不过为什么要起这么怪的名字。。。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-27 0:04 

注册: 2008-07-22 21:11
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
模式里是用变量名来匹配里的,不能转义


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-27 0:35 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
The use of "\Q" causes the <.> in the regex to be treated as a regular character, so that
"P." matches a "P" followed by a dot.

变量名前面可以带一些“转义”的。

具体的,可以去irc的perl房间问。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-27 0:39 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
or
man perlfaq6


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : [已解决]
帖子发表于 : 2008-07-27 6:19 

注册: 2008-07-22 21:11
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
The use of "\Q" causes the <.> in the regex to be treated as a regular character, so that
"P." matches a "P" followed by a dot.

变量名前面可以带一些“转义”的。

具体的,可以去irc的perl房间问。

非常有效果!
谢谢了,高手! 能不能问下,上面这段是在哪看到的? :D


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [已解决]
帖子发表于 : 2008-07-29 18:48 

注册: 2006-05-01 12:29
帖子: 60
地址: zju
送出感谢: 0 次
接收感谢: 0 次
duanmu1123 写道:
eexpress 写道:
The use of "\Q" causes the <.> in the regex to be treated as a regular character, so that
"P." matches a "P" followed by a dot.

变量名前面可以带一些“转义”的。

具体的,可以去irc的perl房间问。

非常有效果!
谢谢了,高手! 能不能问下,上面这段是在哪看到的? :D

代码:
perldoc -f quotemeta


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-29 22:06 
头像

注册: 2006-03-30 13:34
帖子: 178
送出感谢: 0 次
接收感谢: 0 次
some.txt内容

d32=notebook
d35=powerpc

请问如何匹配。
my $model="d32";
open(env, ">some.txt");
while(<env>)
{
if($_ =~ /^$model=(.*)/)
{
$product=$1;
}
}
close(env);
print "$product";


如果把$model换成字符可以。但变量匹配不到。


_________________
http://www12.asphost4free.com/tobey/


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-08-02 10:28 

注册: 2008-07-22 21:11
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
匹配得到啊,你再试试,


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译