设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Perl
›
perl的正则表达式的问题
返回列表
查看:
1041
|
回复:
4
perl的正则表达式的问题
[复制链接]
chrisyan
chrisyan
当前离线
积分
95
IP卡
狗仔卡
发表于 2004-7-16 09:53:27
|
显示全部楼层
|
阅读模式
我想把一个这样的一个式子
0.8.1-11
按数子和非数字分开
0
.
8
.
1
-
11
还有这样的
2.0.7+cvs.2004.05.05-1
要分为
2
.
0
.
7
+cvs.
2004
.
05
.
05
-
1
我用这个式子
open TMP, "tmp" or die "Cant open file tmp,$!";
while (<TMP>)
{
@line =~ /((\d+)|(\D+))+/ ;
print $1;
print $2;
print $3;
print $4;
print $5;
print $6;
# print $input;
}
我是想把这些变量按正则表达式分开,记忆起来,然后分别调用,这样写不行阿,谁帮我看看?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
gentooo
gentooo
当前离线
积分
38
IP卡
狗仔卡
发表于 2004-7-16 10:34:08
|
显示全部楼层
one
\d{1})\.(\d{1})\.(\d{1})(-)(\d{2})
two:
\d{1})\.(\d{1})\.(\d{1})(\+cvs)\.(\d{4})\.(\d{2})\.(\d{2})(-)(\d{1})
回复
支持
反对
使用道具
举报
显身卡
gentooo
gentooo
当前离线
积分
38
IP卡
狗仔卡
发表于 2004-7-16 10:37:17
|
显示全部楼层
(\d{1})\.(\d{1})\.(\d{1})(-)(\d{2})
(\d{1})\.(\d{1})\.(\d{1})(\+cvs)\.(\d{4})\.(\d{2})\.(\d{2})(-)(\d{1})
回复
支持
反对
使用道具
举报
显身卡
chrisyan
chrisyan
当前离线
积分
95
IP卡
狗仔卡
楼主
|
发表于 2004-7-16 11:01:06
|
显示全部楼层
哎,不是哎
这只是两个例子,其实非数字有好多都没列出来,而且自段也不是一边长的,不可以这么写,有没有更好的通用的方法?
回复
支持
反对
使用道具
举报
显身卡
libinary
libinary
当前离线
积分
1502
IP卡
狗仔卡
发表于 2004-7-16 18:56:20
|
显示全部楼层
看看这个行不行:
#!/usr/bin/perl -w
$s = "2.0.7+cvs.2004.05.05-1";
while($s =~ /(\d*)(\D*)/g){
print "$1\n$2\n";
}
复制代码
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表