Regex 要验证数字的正则表达式

Regex 要验证数字的正则表达式,regex,actionscript-3,validation,Regex,Actionscript 3,Validation,我尝试用一个简单的方案验证一个数字,但我在正则表达式方面不是很好 编号的格式如下: XXXXXXX-XX-X其中X是介于0和9之间的数字 我尝试了以下操作:/[0-9]{6}-[0-9]{2]\-[0-9]{1}/,但它没有验证 你知道我做错了什么吗?你的模式有错误。第三个]应该是}: /[0-9]{6}\-[0-9]{2}\-[0-9]{1}/ 不过,您可以进一步简化。您不需要在字符类之外转义-,也不需要{1}的量词: /[0-9]{6}-[0-9]{2}-[0-9]/ 根据您使用的正则表

我尝试用一个简单的方案验证一个数字,但我在正则表达式方面不是很好

编号的格式如下:

XXXXXXX-XX-X
其中
X
是介于
0
9
之间的数字

我尝试了以下操作:
/[0-9]{6}-[0-9]{2]\-[0-9]{1}/
,但它没有验证


你知道我做错了什么吗?

你的模式有错误。第三个
]
应该是
}

/[0-9]{6}\-[0-9]{2}\-[0-9]{1}/
不过,您可以进一步简化。您不需要在字符类之外转义
-
,也不需要
{1}
的量词:

/[0-9]{6}-[0-9]{2}-[0-9]/
根据您使用的正则表达式引擎的不同,您可能会将
\d
替换为
[0-9]
。在JavaScript中,它们是等价的,但是在许多引擎中,它们略有不同<代码>\d用于Unicode数字,而不是十进制数字(例如,它可能匹配)。如果这是可以接受的,您可以使用:

/\d{6}-\d\d-\d/

此外,如果您需要禁止任何前导字符或尾随字符,可以考虑添加开始(<代码> ^ < /代码>)和结束(<代码> $> /代码>)锚定在您的模式周围:

/^[0-9]{6}-[0-9]{2}-[0-9]$/


正则表达式使用什么语言?正则表达式将在AS3中使用。作为将来的注意事项,标记请求添加正则表达式将在其中使用的语言或工具。@zzzbov:Thx获取信息!使用
\d
而不是
[0-9]
(在大多数语言中)进一步简化。@p.s.w.g:非常感谢。不敢相信我没有看到输入错误:(今天应该停止工作。感谢您改进正则表达式!@BrianStephens我添加了一个替代模式,并简要描述了
\d
[0-9]
之间的差异。
/^\d{6}-\d\d-\d$/