我正在寻找字符串中第一个完整出现的数字。我不是在寻找第一个数字,而是整个第一个数字。因此,例如,w134fklj342 中的第一个数字是134,而 1235alkj9342klja9034 中的第一个数字是1235。
我曾尝试使用 \d 但我不确定如何将其扩展为包含多个数字(未指定数字的长度)。
我想,你正在寻找这个正则表达式
\d+
“加”的意思是“一个或多个”。此正则表达式将匹配字符串中的所有数字,因此请选择第一个。
strings = ['w134fklj342', '1235alkj9342klja9034']
strings.each do |s|
puts s[/\d+/]
end
# >> 134
# >> 1235
理解正则表达式的最简单方法是认为 eachbit 是一个字符;例如:\d
或[1234567890]
或[0-9]
将匹配一位数字。
要扩展这一字符,您有 2 个基本选项:*
和+
*
将匹配字符 0 次或更多次+
将匹配一次或多次就像塞尔吉奥说的那样,你应该用它\d+
来匹配许多数字。
一般的正则表达式的优秀教程:http ://www.regular-expressions.info/tutorial.html