那位老大能分析一下这个正则表达式? 多谢阿

那位老大能分析一下这个正则表达式? 多谢阿

那位老大能分析一下这个正则表达式? 多谢阿

s/\w<([^>]+)>/\U$1/g;
把<>里的东西转换成大写吧


QUOTE:
原帖由 motoste 于 2008-4-27 15:35 发表
把里的东西转换成大写吧

应该是把<>里面的内容,和<>本身以及前面的一个单词字符([a-zA-Z_])替换成<>里面内容的大写形式。
simple, it just put everything inside <> into variable $1. you can just try this tofind out what it means
$a="adgd<huozi.ahagah ABU@com XyZ>1234ljah shk";
$a=~s/\w<([^>]+)>/\U$1/g;
print $1;


QUOTE:
原帖由 sunny67892000 于 2008-4-28 17:08 发表
simple, it just put everything inside  into variable $1. you can just try this tofind out what it means
$a="adgd1234ljah shk";
$a=~s/\w]+)>/\U$1/g;
print $1;

[^>]+ 是什么意思? 应该有什么特别的意义吧?

\U$1 是把$1换成大写
s/ / /g; 把$1换成大写替换进去。那个[^>]+ 没明白。

哪位指点指点?


QUOTE:
原帖由 khandielas 于 2008-4-29 09:13 发表


[^>]+ 是什么意思? 应该有什么特别的意义吧?

\U$1 是把$1换成大写
s/ / /g; 把$1换成大写替换进去。那个[^>]+ 没明白。

哪位指点指点?

你不能自己测试一下吗?

你把 [^>]+ 换成你能看懂的,看看会出现什么结果,对比一下不就清楚了嘛
[^>]+
表示匹配除 “ > ”以外的任何字符 至于 “+”就是(1,正无穷)的意思,学数学的应该不能理解,从你问的问题上来看,你对正则不是特别的熟,建议看一下《Perl语言入门第四版》(论坛中有这本书)的“正则表达式”一节,相信你会明白的
正则表达式不熟悉啊


QUOTE:
原帖由 bjbs_270 于 2008-4-29 09:28 发表
[^>]+
表示匹配除 “ > ”以外的任何字符 至于 “+”就是(1,正无穷)的意思,学数学的应该不能理解,从你问的问题上来看,你对正则不是特别的熟,建议看一下《Perl语言入门第四版》(论坛中有这本书)的“正则表 ...

谢了。

表示匹配除 “ > ”以外的任何字符, 几下了。

我大小骆驼都没读过, 简单的training就开始写了, 一般就去perl.org查, 这个东西没查到。