所需格式的正则表达式

时间:2010-04-22 12:53:47

标签: regex

如果我想摄入字母数字,' - '和'+'符号,最佳正则表达式是什么。 例如LA2 + 4或td1-23

3 个答案:

答案 0 :(得分:2)

不涉及任何魔法,只需指定您的完整字符串(^...$)必须匹配任意长度(...*)的替代([...])大写字母({{{ 1}}),小写字母(A-Z),数字(a-z),加号(0-9)和减号(+)。

唯一需要考虑的特殊情况是,您要接受的减号(-)必须显示为选项组中的最后一个(或第一个)字母,因为相同的字符也用于指定范围(如-)。

所以,解决方案是:

A-Z

答案 1 :(得分:1)

只需使用[A-Za-z0-9 - +]

答案 2 :(得分:0)

您要解析任何数字表示吗?
或者只是几个?在Perl(你的语言没有给出)
你可以使用:

use Scalar::Util qw( looks_like_number )

my $stuff = get_weird_input();
...

if( looks_like_number($stuff) ) {
  convert( ... )
}
...