gpt4 book ai didi

ruby-on-rails - 忽略部分正则表达式的大小写

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

有没有一种简单的方法可以忽略部分正则表达式的大小写?我正在使用 Ruby 1.9.3 和 Rails 3.2.8(不确定 Rails 是否有帮助,但我想我会提到它)。

例如,我想检查一个字符串是否是“你好,我的名字是 Bartholomew”,但我只关心 Bartholomew 是否有正确的大写。我可以这样做:

/^[Hh][Ee][Ll][Ll][Oo], [Mm][Yy] [Nn][Aa][Mm][Ee] [Ii][Ss] Bartholomew$/

但那是一种痛苦。我知道我可以忽略结尾处带有 /i 的整个字符串的大小写:

/^hello, my name is bartholomew$/i

但是我无法拆分字符串(正则表达式和字符串本身都是用户输入的)。

最佳答案

这是一种方法,默认情况下使正则表达式区分大小写并标记不敏感部分:

> pattern = /(?i:hello, my name is) Bartholomew/
=> /(?i:hello, my name is) Bartholomew/
> pattern =~ 'Hello, my Name is Bartholomew'
=> 0
> pattern =~ 'Hello, my Name is bartholomew'
=> nil

另一种方法是让正则表达式默认不区分大小写,并标记敏感部分:

> pattern = /hello, my name is (?-i:Bartholomew)/i
=> /hello, my name is (?-i:Bartholomew)/i
> pattern =~ 'Hello, my Name is Bartholomew'
=> 0
> pattern =~ 'Hello, my Name is bartholomew'
=> nil

关于ruby-on-rails - 忽略部分正则表达式的大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12482840/

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