gpt4 book ai didi

ruby - 检查文本的第一个字符是否等于 @ 的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:28 24 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来检查文本第一个字符是否等于@。例如:

  • @test - 这应该匹配

  • test@test - 这不应该匹配

    我写了这样的东西:/(@[\w-]+)/i 但是这个正则表达式也匹配第二个示例,但它不应该......

最佳答案

比正则表达式更好,您可以为此目的使用 String#start_with? 方法:

'@test'.start_with?('@') # => true
'test@test'.start_with?('@') # => false

但是如果您真的需要使用正则表达式,则必须使用 \A anchor 来匹配字符串的开头:

'@test' =~ /\A@/ # => 0
'test@test' =~ /\A@/ # => nil

注意\A^的区别,前者匹配字符串的开头,后者匹配一行的开头,所以:

"test\n@test" =~ /\A@/ # => nil
"test\n@test" =~ /^@/ # => 5

这可能是您想要或不想要的行为。

关于ruby - 检查文本的第一个字符是否等于 @ 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28322306/

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