Ruby量词
示例
量词允许指定重复字符串的计数。
零或一:
/a?/
零个或多个:
/a*/
一个或多个:
/a+/
确切的数字:
/a{2,4}/#Two,threeorfour
/a{2,}/ #Twoormore
/a{,4}/ #Lessthanfour(includingzero)
默认情况下,量词是贪婪的,这意味着它们在进行匹配时会尽可能多地使用字符。通常这是不明显的:
/(?<site>.*) Stack Exchange/ =~ 'Motor Vehicle Maintenance & Repair Stack Exchange'
命名的捕获组site将按预期设置为“机动车维护与修理”。但是,如果“StackExchange”是字符串的可选部分(因为它可能是“StackOverflow”),那么幼稚的解决方案将无法按预期工作:
/(?<site>.*)( Stack Exchange)?/
此版本仍将匹配,但命名的捕获将包括“StackExchange”,因为*贪婪地吃掉了这些字符。解决方案是添加另一个问号以使*懒惰:
/(?<site>.*?)( Stack Exchange)?/
附加?到任何量词都会使其变得懒惰。
热门推荐
10 英语简短祝福语给学生
11 18岁祝福语搞笑简短
12 元旦联谊祝福语简短精辟
13 送蛇的祝福语简短
14 弟弟生日祝福语简短的话
15 生日祝福语大全女生简短
16 乔迁仪式文案祝福语简短
17 朋友孩子考试祝福语简短
18 比赛结束花束祝福语简短