可以使用MatchData对象的names方法来检查是否存在命名组。names方法返回一个数组,包含所有命名组的名称。如果没有命名组,则返回一个空数组。 以下是一个示例: ```ruby pattern = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/ match_data = pattern.match("2022-01-01") if match_data.names.empty? puts "没有命名组" else puts "存在命名组" end ``` 在上面的示例中,我们定义了一个正则表达式模式,其中包含三个命名组:year、month和day。然后,我们使用match方法将模式应用于字符串"2022-01-01",并将结果存储在MatchData对象中。最后,我们使用names方法检查MatchData对象中是否存在命名组,并根据结果输出相应的消息。