Swift ios正则表达式仅允许正数1及以上
我正在尝试制作一个正则表达式,它只允许正数从1开始并向上 例如: 到目前为止,我有这个Swift ios正则表达式仅允许正数1及以上,ios,regex,swift,xcode,Ios,Regex,Swift,Xcode,我正在尝试制作一个正则表达式,它只允许正数从1开始并向上 例如: 到目前为止,我有这个“^0[0-9].$”,但这将只允许以0开头的数字,我不需要这些数字 那么,我如何制作一个只支持正数/整数的正则表达式呢?使用下面的正则表达式来输入从1到9的数字 “^[1-9][0-9]*$”使用以下正则表达式输入从1到9的数字 “^[1-9][0-9]*$” 我的意思是从1开始 不以0开头的十进制数的正则表达式如下: ^[1-9][0-9]*$ 请注意,此正则表达式将匹配无法在Swift中表示为内置数字类
“^0[0-9].$”
,但这将只允许以0开头的数字,我不需要这些数字
那么,我如何制作一个只支持正数/整数的正则表达式呢?使用下面的正则表达式来输入从1到9的数字
“^[1-9][0-9]*$”使用以下正则表达式输入从1到9的数字 “^[1-9][0-9]*$” 我的意思是从1开始 不以
0
开头的十进制数的正则表达式如下:
^[1-9][0-9]*$
请注意,此正则表达式将匹配无法在Swift中表示为内置数字类型的数字序列
我的意思是从1开始
不以0
开头的十进制数的正则表达式如下:
^[1-9][0-9]*$
请注意,此正则表达式将匹配无法在Swift中表示为内置数字类型的数字序列。如果字符串仅包含可能带有
0
填充的数字,请使用hasPrefix
let str = "00234"
let match = !str.hasPrefix("0") // false
如果字符串仅包含可能带有
0
填充的数字,请使用hasPrefix
let str = "00234"
let match = !str.hasPrefix("0") // false
你最好只是解析数字并检查它。
023
怎么不是正数?@code我会编辑不同的Sry。我的意思是从1开始,不要把正则表达式和对数字的了解混为一谈,事实并非如此。就数字而言,大多数语言认为00000000000000 1是一个大于等于1的数字。如果你只是想要一个正则表达式,它只是^(?!0)\d+
不是一个好的选择,我会使用“^[1-9][0-9]*\\z”
你最好只解析数字并检查它。023
怎么不是正数?@code我会编辑不同的Sry。我的意思是从1开始,不要把正则表达式和对数字的了解混为一谈,事实并非如此。就数字而言,大多数语言认为00000000000000 1是一个大于等于1的数字。如果您只是想要一个正则表达式,它只是^(?!0)\d+
不是一个好的选择,我会使用“^[1-9][0-9]*\\z”
如果您添加\a
和\z
锚,这将正常工作<代码>“\\A[1-9][0-9]*\\z”。可与^$
正确配合使用。新行在解析后不会被解释为字符串的一部分。如果添加\a
和\z
锚点,这将正常工作<代码>“\\A[1-9][0-9]*\\z”。可与^$
正确配合使用。新行在解析后不会被解释为字符串的一部分。