设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2535|回复: 9
打印 上一主题 下一主题

[已经解决] 有没有懂正则表达式的大佬?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1388
在线时间
343 小时
注册时间
2016-7-17
帖子
132
跳转到指定楼层
1
发表于 2020-5-3 22:07:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
if @note =~ /<atk_settle = (\d+),(\d+)>/i  
      puts "@note為#{[$1,$2.to_i] }"
    return [$1,$2.to_i]

我打<atk_settle = hp,1>但是match不到

Lv6.析梦学徒

老鹰

梦石
40
星屑
35592
在线时间
6818 小时
注册时间
2012-5-26
帖子
3276

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2020-5-3 22:24:29 | 只看该作者
hp是字母, \d 是匹配数字

你可以改成任意最小匹配
/<atk_settle = (.*?),(\d+)>/i

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 塞糖

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1388
在线时间
343 小时
注册时间
2016-7-17
帖子
132
3
 楼主| 发表于 2020-5-3 22:30:48 | 只看该作者
百里_飞柳 发表于 2020-5-3 22:24
hp是字母, \d 是匹配数字

你可以改成任意最小匹配

哇,再次谢谢老鹰大佬
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39540
在线时间
1919 小时
注册时间
2010-11-14
帖子
3319

R考场第七期纪念奖

4
发表于 2020-5-3 22:35:42 | 只看该作者
除了用.,推荐还是用\w,约等于[0-9a-zA-Z_]
想要测试正则的话可以用这个网站
https://regexr.com/

点评

据说\w还可以匹配汉字  发表于 2020-5-4 12:00
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1388
在线时间
343 小时
注册时间
2016-7-17
帖子
132
5
 楼主| 发表于 2020-5-3 23:53:45 | 只看该作者
KB.Driver 发表于 2020-5-3 22:35
除了用.,推荐还是用\w,约等于[0-9a-zA-Z_]
想要测试正则的话可以用这个网站
https://regexr.com/ ...


又遇到问题了,负数与小数要怎么匹配啊
   if @note =~ /<install_cost = (\w+),(\d+)>/i  
      puts "@note為#{[$1,$2.to_i] }"
       return [$1,0 - $2.to_i]
     end

<install_cost = hp,-0.3>
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39540
在线时间
1919 小时
注册时间
2010-11-14
帖子
3319

R考场第七期纪念奖

6
发表于 2020-5-4 00:14:28 | 只看该作者
b200077 发表于 2020-5-3 23:53
又遇到问题了,负数与小数要怎么匹配啊
   if @note =~ //i  
      puts "@note為#{[$1,$2.to_i ...

/([+-.0-9]+)/

点评

感觉有点危险……这样0-+9.23这样胡乱的东西也能被匹配出来了吧  发表于 2020-5-4 12:04
用头画头像,用脚写脚本
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6685
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

7
发表于 2020-5-4 12:03:24 | 只看该作者
  • 数字:^[0-9]*$
  • n位的数字:^\d{n}$
  • 至少n位的数字:^\d{n,}$
  • m-n位的数字:^\d{m,n}$
  • 零和非零开头的数字:^(0|[1-9][0-9]*)$
  • 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$
  • 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$
  • 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
  • 有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$
  • 有1~3位小数的正实数:^[0-9]+(\.[0-9]{1,3})?$
  • 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
  • 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
  • 非负整数:^\d+$ 或 ^[1-9]\d*|0$
  • 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
  • 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
  • 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
  • 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
  • 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
  • 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

点评

哇..这个不愧是天书,以后可能会常用到  发表于 2020-5-4 23:19
祝好。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-21 03:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表