regex - 正则表达式对单个字符只检查一次并且包含多个数字?
问题描述
我想建立一个正则表达式来检查文本中是否字符串在数字之间包含一个点并且有多个数字。
我的文本示例是:
11.00 11.000 1.0 1 1 2.
我想检查文本是否仅包含一个点,并且我想检查文本是否包含多个数字 1 或类似 111.00。我怎样才能做到这一点。
我当前的表达式检查多个点并且它不检查文本是否包含多个正确格式 1.1 或 1 的值。此外,我正在检查新行和任意数量的空格,如下所示:
/^[0-9 .\n\t]*$/
解决方案
您可以使用
^\d+(?:\.\d+)?(?:\s+\d+(?:\.\d+)?)+$
请参阅正则表达式演示。
细节
^
- 字符串的开始\d+(?:\.\d+)?
- 一个或多个数字,然后是一个或多个数字的可选.
出现(?:\s+\d+(?:\.\d+)?)+
-一次或多次出现\s+
- 一个或多个空格\d+(?:\.\d+)?
- 一个或多个数字,然后是可选的
$
- 字符串结束
推荐阅读
- reactjs - 在第二次拖动 react-beautiful-dnd 时拖动项目时的奇怪行为
- ios - 处理 tableView 中的异步 Firestore 数据读取 - iOS
- javascript - jQuery - 在加载时运行更改功能
- reactjs - componentWillRecieveProps 不会导致渲染
- c# - SignalR:对方法名称感到困惑 - CamelCase 与 lowerCamelCase - 有什么意义?
- java - 如何在树莓派上使用 BlueJ 连接 mySQL 数据库?
- java - 使用 OpenJDK 12 使用 Mockito 启动 JUnit 时如何摆脱“无法初始化插件:接口 org.mockito.plugins.MockMaker”
- c# - C# - 接口的可选异步
- vb.net - 如何 Dim Loop 和 Integer 加 1?
- javascript - 有没有办法在单个链接上设置活动/非活动状态?