正则表达式匹配密码和用户名的字母数字字符串

时间:2010-12-28 04:46:25

标签: regex

我想使用正则表达式来输入用户名和密码。它们应该只包含:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890@-.#_ 

我是怎么做到的?

3 个答案:

答案 0 :(得分:5)

/[A-Za-z0-9@\'\-.#_]+/

要打破它:

  1. [...]内的部分是您要匹配的字符。
  2. A-Z是一个字符范围,用 - 分隔两端。
  3. \-是文字破折号。
  4. +表示一个或多个。
  5. 根据您的匹配方式,您可能希望在末尾使用^$,以确保它与整个输入相匹配(或Java& ^\Z ; Perl5)。

答案 1 :(得分:1)

要仅允许任何字符串中提到的字符,您可以使用正则表达式:

^[a-zA-Z0-9@'\-.#_]+$

答案 2 :(得分:0)

在Perl ::

$text =~ m/[a-z0-9@\'\-.#_]+/ig ;