在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。注意,百分號%
在正則表達式中被轉義為\%
,因為它在正則表達式中具有特殊含義。