编写一个至少可以在2种正则表达式版本(或版本)中运行的正则表达式,并在其运行的每种版本(或版本)中匹配一个不同的字符串。
在此挑战中要匹配的字符串是Ubuntu代码名称的第一个单词,下面列出。您的正则表达式必须与列表顶部匹配。也就是说,如果您的正则表达式可以使用3种样式,则必须与Warty
Hoary
和匹配Breezy
,而不是其他。
Warty
Hoary
Breezy
Dapper
Edgy
Feisty
Gutsy
Hardy
Intrepid
Jaunty
Karmic
Lucid
Maverick
Natty
Oneiric
Precise
Quantal
Raring
Saucy
Trusty
Utopic
Vivid
Wily
Xenial
Yakkety
Zesty
17.10
18.04
18.10
19.04
19.10
...
如果您的正则表达式可以使用超过26种口味,则可以匹配Ubuntu版本号。从17.10开始,对于每个新口味,如果第二个数字为04,则将其更改为10,然后将第一个数字递增,将第二个数字更改为04。
在每种形式中,您的正则表达式应仅匹配假定的字符串,而不匹配其他字符串(不限于代码名称)。尾随换行符无关紧要。这意味着您的正则表达式可以只匹配不带尾随换行符的字符串,仅匹配带尾随换行符的字符串,或者匹配两者。而且不必在不同口味上保持一致。您可以假定输入使用可打印的ASCII(末尾的换行符除外,如果有的话)。
您的分数是(代码长度+10)/((风味数)^ 2)。最低分获胜。