温馨提示×

Ruby正则表达式怎样实现分组捕获

小樊
82
2024-10-24 08:01:28
栏目: 编程语言

在Ruby中,使用正则表达式进行分组捕获时,需要在正则表达式中使用圆括号()。圆括号会将匹配到的子字符串分组,并将整个分组捕获为一个变量。以下是一个简单的示例:

# 定义一个包含数字的字符串
str = "The price of the item is $10 and the discount is 20%."

# 使用正则表达式匹配数字,并使用圆括号进行分组捕获
matched = str.match(/(\d+(?:\.\d{1,2})?)%?/).captures

# 输出捕获到的分组
puts matched.inspect

在这个例子中,我们使用了正则表达式/(\d+(?:\.\d{1,2})?)%?/来匹配字符串中的数字和百分比。圆括号()将数字和百分比分组,并使用captures方法获取捕获到的分组。

运行这段代码,你将得到以下输出:

["10", "20"]

这表示我们成功捕获了两个数字:10和20。注意,百分号%在正则表达式中被转义为\%,因为它在正则表达式中具有特殊含义。

0