如何使用ruby正则表达式查找整数
我在寻找一个字符串中第一个完整的数字。我不是在找第一个数字,而是整个第一个数字。例如,w134fklj342中的第一个数字是134,1235alkj9342klja9034中的第一个数字是1235如何使用ruby正则表达式查找整数,ruby,regex,Ruby,Regex,我在寻找一个字符串中第一个完整的数字。我不是在找第一个数字,而是整个第一个数字。例如,w134fklj342中的第一个数字是134,1235alkj9342klja9034中的第一个数字是1235 我尝试使用\d,但我不确定如何将其扩展为包含多个数字(不指定数字的长度)。我想,您正在寻找此正则表达式 \d+ “加”表示“一个或多个”。这个正则表达式将匹配字符串中的所有数字,所以选择第一个 strings = ['w134fklj342', '1235alkj9342klja9034'] st
我尝试使用\d,但我不确定如何将其扩展为包含多个数字(不指定数字的长度)。我想,您正在寻找此正则表达式
\d+
“加”表示“一个或多个”。这个正则表达式将匹配字符串中的所有数字,所以选择第一个
strings = ['w134fklj342', '1235alkj9342klja9034']
strings.each do |s|
puts s[/\d+/]
end
# >> 134
# >> 1235
演示:我想,您正在寻找这个正则表达式
\d+
“加”表示“一个或多个”。这个正则表达式将匹配字符串中的所有数字,所以选择第一个
strings = ['w134fklj342', '1235alkj9342klja9034']
strings.each do |s|
puts s[/\d+/]
end
# >> 134
# >> 1235
演示:理解正则表达式最简单的方法是将每个正则表达式都看作一个字符;e、 g:
\d
或[1234567890]
或[0-9]
将匹配一位数字
要展开这一个字符,您有两个基本选项:*
和+
将匹配字符0次或更多次*
将匹配它一次或多次+
\d+
来匹配许多数字
一般来说,正则表达式的优秀教程:理解正则表达式最简单的方法是将每个正则表达式都看作一个字符;e、 g:
\d
或[1234567890]
或[0-9]
将匹配一位数字
要展开这一个字符,您有两个基本选项:*
和+
将匹配字符0次或更多次*
将匹配它一次或多次+
\d+
来匹配许多数字
一般来说,正则表达式的优秀教程:@sergio tulentsev是正确的。但是您应该阅读以了解更多关于Regexp提供的内容。@sergio tulentsev是正确的。但是您应该阅读以了解更多关于Regexp提供的内容。正确,但更简单的是:s[/\d+/]正确,但更简单的是:s[/\d+/]