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

eni*_*cus 0 regex

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

  • 只有数字
  • 长度> 4

一些例子:

DC10# 02414/334567 / A234567
2P# 718231xdcs 11111
1P# C182313
Run Code Online (Sandbox Code Playgroud)

我现在正在接受这个:

  • 02414,334567
  • 718231xdcs,11111

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

正确的答案是:

  • 02414,334567
  • 11111

我的RegEx是:

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

我最后坚持了这封信.

Avi*_*Raj 6

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

\b\d{4,}\b
Run Code Online (Sandbox Code Playgroud)

DEMO

说明:

  • \b 单词字符和非单词字符之间的匹配.
  • \d{4,} 匹配至少4位数.
  • \b 字边界.