如何创建reqular表达式以匹配文本绝对末尾的数字(不带“\ n”)

时间:2016-03-15 11:45:18

标签: ruby regex

示例代码:

test = "123knh8y78hah099ajs980"
test.scan(/\d+\Z/)

结果,我应该得到:

=> ["980"]

这是对的。但是如果在文本的末尾添加“\ n”,则regexp返回 结果不正确:

    test = "123knh8y78hah099ajs980\n"
    test.scan(/\d+\Z/)
 => ["980"]

没有任何改变,但数字不是文本的结尾。在文本符号“\ n”的末尾。

热门创建reqular表达式来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

如果您不需要在字符串末尾或最终\Z之前匹配\z,则需要将980替换为\n\Z)。

请参阅Ruby Regex reference

  

\Z - 匹配字符串的结尾。 如果字符串以换行符结尾,则在换行符之前只匹配
  \z - 匹配字符串的结尾