gpt4 book ai didi

Ruby,真/假正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:16 29 4
gpt4 key购买 nike

所以我遇到了一个问题,我的正则表达式看起来像这样:/true|false/

当我检查单词 falsee 时,我从这个正则表达式中得到一个 true,有没有办法将它限制为确切的 truefalse 单词?

最佳答案

使用这个正则表达式:

/^(true|false)$/

它将分别用 ^$ 匹配测试字符串的开头和结尾,因此字符串中不能有任何其他内容(完全匹配)。

请参阅 Regex101 上的实例.

UPDATE(参见@w0lf 的评论):括号用于隔离 true|false 子句,以免它们被错误分组。 (这也将 truefalse 匹配放在第一个捕获组中,但由于看起来你只是在匹配而不是捕获输出,所以这应该没有什么区别).


或者,如果您只想匹配两个值,在 Ruby 中有更简单的方法。 @SimoneCarletti 建议一个。您还可以使用基本的 ==eql? 运算符。尝试运行以下脚本以查看所有这些是否有效:

values = ["true", "false", "almosttrue", "falsealmost"]
values.each do | value |
puts value

# these three are all equivalent
puts "match with if" if value == "true" || value == "false"
puts "match with equals?" if (value.eql? "true") || (value.eql? "false")
puts "match with regex" if /^(true|false)$/.match value

puts
end

关于Ruby,真/假正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38833015/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com