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

avatar
作者
猴君
阅读量:0

在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。注意,百分号%在正则表达式中被转义为\%,因为它在正则表达式中具有特殊含义。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!