Project1

标题: 有没有懂正则表达式的大佬? [打印本页]

作者: b200077    时间: 2020-5-3 22:07
标题: 有没有懂正则表达式的大佬?
if @note =~ /<atk_settle = (\d+),(\d+)>/i  
      puts "@note為#{[$1,$2.to_i] }"
    return [$1,$2.to_i]

我打<atk_settle = hp,1>但是match不到
作者: 百里_飞柳    时间: 2020-5-3 22:24
hp是字母, \d 是匹配数字

你可以改成任意最小匹配
/<atk_settle = (.*?),(\d+)>/i
作者: b200077    时间: 2020-5-3 22:30
百里_飞柳 发表于 2020-5-3 22:24
hp是字母, \d 是匹配数字

你可以改成任意最小匹配

哇,再次谢谢老鹰大佬
作者: KB.Driver    时间: 2020-5-3 22:35
除了用.,推荐还是用\w,约等于[0-9a-zA-Z_]
想要测试正则的话可以用这个网站
https://regexr.com/
作者: b200077    时间: 2020-5-3 23:53
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>
作者: KB.Driver    时间: 2020-5-4 00:14
b200077 发表于 2020-5-3 23:53
又遇到问题了,负数与小数要怎么匹配啊
   if @note =~ //i  
      puts "@note為#{[$1,$2.to_i ...

/([+-.0-9]+)/
作者: MCCF    时间: 2020-5-4 12:03





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1