正则表达式排除在开头和结尾都有字母的数字

时间:2014-07-14 14:40:58

标签: regex

我正在使用RegEx获取特殊序列号。我需要从字符串中提取序列号,条件是:

  • 只有数字
  • 长度→4

一些例子:

DC10# 02414/334567 / A234567
2P# 718231xdcs 11111
1P# C182313

我现在正在接受这个:

  • 02414,334567
  • 718231xdcs,11111

目前我有RegEx验证序列号是以字母开头而不是排除它,我也在检查长度,但我不能让它工作以防信件在最后,例如718231xdcs

正确答案是:

  • 02414,334567
  • 11111

我的RegEx是:

/(?<![A-Za-z0-9.])[0-9.]{4,}+/

我最后坚持了这封信。

1 个答案:

答案 0 :(得分:6)

在匹配至少4位数的模式之前和之后添加单词边界。

\b\d{4,}\b

DEMO

<强>解释

  • \b单词字符与非单词字符匹配。
  • \d{4,}匹配至少4位数字。
  • \b字边界。