Chinaunix

标题: 请问这个正则表达式是什么意思? [打印本页]

作者: songday    时间: 2009-09-30 11:00
标题: 请问这个正则表达式是什么意思?
在perl里写的是:
$w =~ /\Q$dm\E/i

我把它翻译成java的是这样的:
Pattern.compile(".*\\Q"+dm+"\\E.*",Pattern.CASE_INSENSITIVE).matcher(w).matches()

不过运行完之后的结果不一样

java匹配出了:
bookfinder.com >>> books by Jordi Fibla @ BookFinder.com
但是perl没有

java匹配出了:
cheatsguru.com >>> Axelerator Cheats, Hints, Walkthroughs, Cheats Codes, Trainers for PC @ CheatsGuru.Com
但是perl没有

不过奇怪的是perl匹配出了:
bookfinder.com >>> books by Carl Honorek @ BookFinder.com

>>>前面的是dm变量,后面的是w变量
作者: Perl_Er    时间: 2009-09-30 11:08
\Q\E equivalent to function 'quotemeta'
作者: songday    时间: 2009-09-30 11:17
原帖由 Perl_Er 于 2009-9-30 11:08 发表
\Q\E equivalent to function 'quotemeta'

谢谢楼上的回复,不过能说的稍稍详细一点吗?

对perl的正则不熟悉

“quotemeta”是引用的意思吗?
作者: Perl_Er    时间: 2009-09-30 11:33
标题: 回复 #3 songday 的帖子
是一个function,看看这里:http://perldoc.perl.org/functions/quotemeta.html
作者: songday    时间: 2009-09-30 11:33
我查了下\Q\E,是做转义的
谢谢你的回复了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2