ruby – 用于匹配大写字母的正则表达式
发布时间:2020-12-17 03:52:26 所属栏目:百科 来源:网络整理
导读:def normalized? matches = match(/[^A-Z]*/) return matches.size == 0 end 这是我在字符串上运行的函数,检查字符串是否只包含大写字母.它可以很好地排除非匹配,但是当我在类似“ABC”的字符串上调用它时它表示没有匹配,因为显然matches.size是1而不是零.它
def normalized? matches = match(/[^A-Z]*/) return matches.size == 0 end 这是我在字符串上运行的函数,检查字符串是否只包含大写字母.它可以很好地排除非匹配,但是当我在类似“ABC”的字符串上调用它时它表示没有匹配,因为显然matches.size是1而不是零.它左右似乎有一个空元素. 谁能解释为什么? 解决方法
MatchData#size返回正则表达式中捕获组的数量加1,以便md [i]将访问有效组iff i< md.size.因此,size返回的值仅取决于正则表达式,而不是匹配的字符串,并且永远不会为0. 你想要matches.to_s.size或匹配[0] .size.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |