ruby - 用于将字符串与 ruby​​ 中的数字匹配的正则表达式

标签 ruby regex

我有如下字符串。

"Included in PTA fees" or "Included in PTA fees 33$" or "Included in PTA fees $60"

我需要将此字符串与搜索 PTA 费用以及是否还附加了任何费用(数字)相匹配。

需要查找“PTA 费用”以及任何给定字符串中的费用值并返回 true。

所以它应该为

返回 true
"Included in PTA fees 33$" and
"Included in PTA fees $60"

它应该为 “包含在 PTA 费用中” 返回 false

我尝试使用以下正则表达式。但对于

它返回 true
"Included in PTA fees"

/#{PTA_FEE[0-9]}/i.match?(value)

最佳答案

您只需要 \S+ 作为正则表达式的结尾部分:

str =~ /Included in PTA fees? \S+/
  • \S+ 一个或多个非空白字符
  • ? 可选匹配

或者更准确地说:

str =~ /Included in PTA fees? (?:\d+\$|\$\d+)/

Live demo

关于ruby - 用于将字符串与 ruby​​ 中的数字匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49919129/

相关文章:

ruby-on-rails - pry 控制台中是否有类似 grep 的功能?

php - 如何使用正则表达式从HTML获取所有YouTube iframe

ruby-on-rails - 如何在 eclipse aptana 插件中调试 ruby​​ on rails

ruby - 输入 Ruby 的货币验证

regex - 使用 Vim 用另一个字符串替换所有 *非* 匹配的字符串

用于模式研究的 Python 正则表达式

asp.net - 如何将两个正则表达式合二为一?

Java regEx URL 匹配问题

ruby-on-rails - 如何使用 Inherited Resources Rails 插件根据成功或失败自定义 flash 消息?

ruby - 在 ruby 中四舍五入到 0.5 或 1