Regex 提取9+;中的数字;。使用Scala正则表达式从文本中设置9*格式
我想将小数与整数部分匹配,但要有或没有小数部分,例如Scala中的Regex 提取9+;中的数字;。使用Scala正则表达式从文本中设置9*格式,regex,scala,Regex,Scala,我想将小数与整数部分匹配,但要有或没有小数部分,例如Scala中的1.1,0.1,1.但不是.1 目前,我的解决方案是 val pattern: Regex = raw"\d+.\d*".r; 但是,它与小数点“.2000”错误匹配模式.findAllIn(“.2000”)。toList(0)将等于2000。怎么了?一个未替换的点与任何chsar匹配,但换行符除外 在最基本的形式中,用于提取符合9+.9*格式的数字的正则表达式如下 val pattern: Regex = """\d+\.\d
1.1
,0.1
,1.
但不是.1
目前,我的解决方案是
val pattern: Regex = raw"\d+.\d*".r;
但是,它与小数点“.2000”错误匹配<代码>模式.findAllIn(“.2000”)。toList(0)将等于2000。怎么了?一个未替换的点与任何chsar匹配,但换行符除外 在最基本的形式中,用于提取符合
9+.9*
格式的数字的正则表达式如下
val pattern: Regex = """\d+\.\d*""".r
看。这里,\d+
匹配1+个数字,\.
匹配一个点,\d*
匹配0个或更多数字
如果您想避免在192.168.0.2
中匹配192.168
,请添加一些查找框,例如
val pattern: Regex = """(?<!\d\.)\d+\.\d*(?!\.?\d)""".r
val-pattern:Regex=“”(?您可以使用val-pattern:Regex=“”\d+\?\d*“”)".r
十进制数的正则表达式…真的没有重复吗?这不完全是您需要的,但是@WiktorStribiżew接受答案中的正则表达式匹配.456
,可能不匹配1。
。我不确定OP是否想要匹配没有句点的数字,您的建议似乎可以跳过。
因为?
。但是重要的部分是\。
而不仅仅是
,所以也许你可以通过删除?
来调整你的评论,并将其作为答案发布?不幸的是,在这种特殊情况下,即使是标准副本也没有多大帮助,因为奇怪的要求数字以per结尾关键词raw和“”之间有什么区别?