一个 HTML 表单会返回一个用户输入的数字字符串,如何使用正则表达式判断这个字符串是否是数字。我不想简单地去掉逗号并尝试将其转换为整数,也不喜欢使用 locale.atoi 方法,因为即使字符串是无意义的(例如,
匹配出现了问题。我做错了什么?
locale.atoi('01,0,0')
也可以被转换成数字 100)。
注意,只有当字符串包含逗号时才进行此验证。
正则表达式模式应为:
第1个字符是1-9(不能为零),第2和第3个字符是0-9。接着是3个1-9的数字和重复出现 0 到 2 次的逗号(999,999,999,999 是程序中最大的数字)。最后是3个1-9的数字。
compiled = re.compile("[1-9][0-9]{0,2},(\d\d\d,){0,2}[0-9]{3}")
这不正确地匹配了字符串的末尾,例如:
re.match(compiled, '123,456,78')
匹配出现了问题。我做错了什么?
([1-9][0-9]{0,2},(\d\d\d,){0,2}[0-9]{3})
你能发一些匹配的例子吗? - llrs