协助创建一个正则表达式

时间:2012-09-27 19:41:10

标签: regex

有人可以帮助我吗?我需要创建一个符合以下条件的正则表达式:

有效字符:仅限0-9和连字符( - )。输入必须在11到13个字符之间。 此外,不得包含字符串" 73480"

谢谢!

3 个答案:

答案 0 :(得分:6)

使用正则表达式^(?!.*73480)[0-9-]{11,13}$

答案 1 :(得分:0)

为了清晰起见,您需要两个正则表达式。

首先检查这是否匹配:

/^[-\d]{11,13}$/

然后检查是否匹配:

/73480/

在Perl中你会像/^[-\d]{11,13}$/ && !/73480/那样执行此操作。如果这是PHP,你可以拨打preg_match两次。

尝试将其全部塞进一个正则表达式会使将来很难阅读。

答案 2 :(得分:-1)

你可以尝试在网上找到一个很棒的正则表达式编辑器:http://txt2re.com/

只需输入您想要匹配的示例,然后您就可以点击选择您想要匹配的模式。