正则表达式提取整数之前的字符串

时间:2019-04-11 09:21:09

标签: regex

我有一堆数字说:

  • d123sd
  • dds123
  • 123ss
  • dd542334ssdf
  • fsd54345ff

完整的数据总是字符串int字符串,我用它把它分成每个组

string1 = ^(.*?)\D+
int2 = (\d+)
string3 = ([a - zA - Z] *$)

但是如果数据仅是int字符串(例如123ss),我总是会出错,因为它的变量string1读取了第一位数字,有人可以告诉我我哪里出错了吗?

1 个答案:

答案 0 :(得分:2)

要在字符串开头匹配0个或多个非数字字符,您需要将string1定义为

string1 = ^(\D*)

它将在字符串(\D)的开头捕获0个或多个非数字(^)字符。

整个字符串模式看起来像

^(\D*)(\d+)(\D*)$

请参见Regulex graph

enter image description here

另请参阅regex demo