Perl6 Regex Match Num
发布时间:2020-12-16 06:24:38 所属栏目:大数据 来源:网络整理
导读:我想从文本字符串的一部分匹配任何Num.到目前为止,这个(从 https://docs.perl6.org/language/regexes.html#Best_practices_and_gotchas被盗)完成了这项工作…… my token sign { [+-] } my token decimal { d+ } my token exponent { 'e' sign? decimal } m
我想从文本字符串的一部分匹配任何Num.到目前为止,这个(从
https://docs.perl6.org/language/regexes.html#Best_practices_and_gotchas被盗)完成了这项工作……
my token sign { <[+-]> } my token decimal { d+ } my token exponent { 'e' <sign>? <decimal> } my regex float { <sign>? <decimal>? '.' <decimal> <exponent>? } my regex int { <sign>? <decimal> } my regex num { <float>? <int>? } $str ~~ s/( <num>? s*) ( .* )/$1/; 这似乎很多(容易出错)重新发明轮子.是否有perl6技巧可以在语法中匹配内置类型(Num,Real等)? 解决方法
如果您可以对数字做出合理的假设,就像它由字边界分隔一样,您可以执行以下操作:
regex number { ? # left word boundary S+ # actual "number" ? # right word boundary <?{ defined +"$/" }> } 此正则表达式中的最后一行将Match(“$/”)字符串化,然后尝试将其转换为数字().如果它工作,它返回一个定义的值,否则返回 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |