免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2606 | 回复: 8
打印 上一主题 下一主题

那位老大能分析一下这个正则表达式? 多谢阿 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-27 14:08 |只看该作者 |倒序浏览
那位老大能分析一下这个正则表达式? 多谢阿

s/\w<([^>]+)>/\U$1/g;

论坛徽章:
0
2 [报告]
发表于 2008-04-27 15:35 |只看该作者

回复 #1 Chinese_Dragon 的帖子

把<>里的东西转换成大写吧

论坛徽章:
0
3 [报告]
发表于 2008-04-27 17:24 |只看该作者
原帖由 motoste 于 2008-4-27 15:35 发表
把里的东西转换成大写吧

应该是把<>里面的内容,和<>本身以及前面的一个单词字符([a-zA-Z_])替换成<>里面内容的大写形式。

论坛徽章:
0
4 [报告]
发表于 2008-04-28 17:08 |只看该作者

回复 #1 Chinese_Dragon 的帖子

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;

论坛徽章:
0
5 [报告]
发表于 2008-04-29 09:13 |只看该作者
原帖由 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换成大写替换进去。那个[^>]+ 没明白。

哪位指点指点?

论坛徽章:
0
6 [报告]
发表于 2008-04-29 09:19 |只看该作者
原帖由 khandielas 于 2008-4-29 09:13 发表


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

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

哪位指点指点?


你不能自己测试一下吗?

你把 [^>]+ 换成你能看懂的,看看会出现什么结果,对比一下不就清楚了嘛

论坛徽章:
0
7 [报告]
发表于 2008-04-29 09:28 |只看该作者
[^>]+
表示匹配除 “ > ”以外的任何字符 至于 “+”就是(1,正无穷)的意思,学数学的应该不能理解,从你问的问题上来看,你对正则不是特别的熟,建议看一下《Perl语言入门第四版》(论坛中有这本书)的“正则表达式”一节,相信你会明白的

论坛徽章:
0
8 [报告]
发表于 2008-04-29 11:12 |只看该作者
正则表达式不熟悉啊

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


谢了。

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

我大小骆驼都没读过, 简单的training就开始写了, 一般就去perl.org查, 这个东西没查到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP