查看: 1723|回复: 4

如何用正则表达式匹配字符串中央的数字?

  [复制链接]
梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-8-30
回帖
84
发表于 2008-3-7 18:03:57 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
有一个字符串 md123556cd324dsw241
想要第一次匹配md后  或者  cd前的123556,数字长度不固定。
第二次匹配324也是数字长度不固定,只能用字母定位。
第三次匹配241
^^高手们帮帮忙吧
梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-8-30
回帖
84
 楼主| 发表于 2008-3-7 19:38:02 | 显示全部楼层
研究了半天,终于解决了。白提问了。学会了*的用途
给后来人一个参考吧。^^
cc=md123556cd324dsw241
p cc.scan(/[m][d]\d*)    =>md123556
p cc.scan(/[c][d]\d*)    =>cd324
p cc.scan(/[d][w]\d*)  =>sw241
回复

使用道具 举报

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2008-3-7 19:39:07 | 显示全部楼层
a = "md123556cd324dsw241"

b = a[/\md(\d+)cd(\d+)dsw(\d+)/]

p $1,$2,$3
纵然千里外,我等雁归来。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-8-30
回帖
84
 楼主| 发表于 2008-3-7 19:49:20 | 显示全部楼层
还是美兽大人的方法好,可以直接提出数字^^
回复

使用道具 举报

梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-8-30
回帖
84
 楼主| 发表于 2008-3-7 19:53:32 | 显示全部楼层
括号的功能果然强大,f1写的实在……
直接匹配字母也可以?orz
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部