栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

正则表达式可以匹配任何数字(实数,有理数和符号)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正则表达式可以匹配任何数字(实数,有理数和符号)

如果您想要一个看起来像C浮点数的东西,这是使用CPAN的Regexp
::
Common模块

,使Perl发痒的正则表达式的方法:

$ perl -MRegexp::Common -le 'print $RE{num}{real}'(?:(?i)(?:[+-]?)(?:(?=[.]?[0123456789])(?:[0123456789]*)(?:(?:[.])(?:[0123456789]{0,}))?)(?:(?:[E])(?:(?:[+-]?)(?:[0123456789]+))|))

您可以根据需要进行调整,但这可以为您提供基本的想法。

它确实非常灵活。例如,这为以3为基数的实数倒出了一个模式,即允许每三个位置使用逗号:

$ perl -MRegexp::Common -le 'print $RE{num}{real}{-base => 2}{-sep => ","}{-group => 3}'(?:(?i)(?:[+-]?)(?:(?=[.]?[01])(?:[01]{1,3}(?:(?:[,])[01]{3})*)(?:(?:[.])(?:[01]{0,}))?)(?:(?:[E])(?:(?:[+-]?)(?:[01]+))|))

该文档显示,它可以为您吐出的数字模式的完整语法为:

$RE{num}{int}{-base}{-sep}{-group}{-places} $RE{num}{real}{-base}{-radix}{-places}{-sep}{-group}{-expon} $RE{num}{dec}{-radix}{-places}{-sep}{-group}{-expon} $RE{num}{oct}{-radix}{-places}{-sep}{-group}{-expon} $RE{num}{bin}{-radix}{-places}{-sep}{-group}{-expon} $RE{num}{hex}{-radix}{-places}{-sep}{-group}{-expon} $RE{num}{decimal}{-base}{-radix}{-places}{-sep}{-group} $RE{num}{square} $RE{num}{roman}

真正根据您的需要对其进行自定义。是的,您当然可以在Java中使用这些模式。

请享用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号