使用regex查找3个字符后跟至少2个字符的子字符串

5us2dqdw  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(147)

我有一个很大的字符串与各种分行

Abc 90231 Test string
Lorem f90045zzzw, etc
90030 many items
079002
09011
09089goes on

我想得到als子串,其中包括900|901|903,最小值后面跟着两个其他数字[0-9]。
我目前的做法

Regex regex = new Regex(@"\(b900..|901..|902..|903..){5,}\b");

我想得到:90231, 90045, 90030, 09089我不想得到:9002, 09011
实现这一点的正确方法是什么?

bbmckpt7

bbmckpt71#

你可以用

(?<!\d)90[0-3]\d{2,}

正则表达式匹配

  • (?<!\d)-左侧数字边界,左侧不能出现任何数字
  • 90-一个90子字符串
  • [0-3]-从03的数字
  • \d{2,}-两个或多个数字。

要使\d只匹配ASCII数字,请使用RegexOptions.ECMAScript选项编译正则表达式。
参见regex demo

相关问题