查看: 1589|回复: 5

正则匹配 和 gsub!

  [复制链接]

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2009-3-25 06:37:51 | 显示全部楼层 |阅读模式

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

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

×
脚本如下:

text = "123\c[1]321"

array = [5,4,3,2,1]

text.gsub!(/\\c\[(0-9)+\]/){ array[$1.to_i] }

p text

为什么输出的是  "123\e1]321"

本意是 改成 array 里的元素的。

版务信息:本贴由楼主自主结贴~

《天空之城 —— 破碎的命运》

kissye的宠物<

梦石
0
星屑
66
在线时间
1564 小时
注册时间
2008-8-11
回帖
6023

贵宾

发表于 2009-3-25 07:09:51 | 显示全部楼层
追加多五百悬赏――~
回复

使用道具 举报

月下可怜人

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

第1届短篇游戏比赛亚军

发表于 2009-3-25 08:25:07 | 显示全部楼层
text = "123\\c[1]321"

array = [5,4,3,2,1]

text.gsub!(/\\c\[([0-9]+)\]/){ array[$1.to_i] }

p text

or

text = '123\c[1]321'

array = [5,4,3,2,1]

text.gsub!(/\\c\[([0-9]+)\]/){ array[$1.to_i] }

p text
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复

使用道具 举报

天仙

梦石
0
星屑
720
在线时间
184 小时
注册时间
2008-4-15
回帖
4872

贵宾

发表于 2009-3-25 09:04:29 | 显示全部楼层
LZ主要的错误在於:
text.gsub!(/\\c\[(0-9)+\]/){ array[$1.to_i] }

应该用方括号 [] 而不是 () 来设定匹配范围
如果要匹配数字,也可以用 \d 来代替 [0-9]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

 楼主| 发表于 2009-3-25 19:51:40 | 显示全部楼层
..........

弄错了。

看 Window_Message 里的脚本看漏掉了,咔咔~~~

感谢 LS 和 LSS 两位~~

《天空之城 —— 破碎的命运》
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-5
回帖
696
发表于 2009-3-25 21:34:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部