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

Rik*_*ain 4 regex

我有一包号码说:

  • d123sd
  • dds123
  • 123SS
  • dd542334ssdf
  • FSD54345FF

完整数据始终为 string int string,我用它来将其拆分为每组

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

但如果数据只有 int string (例如 123ss),我总是会收到错误,因为它的变量 string1 读取第一个数字,有人能告诉我哪里出错了吗?

Wik*_*żew 5

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

string1 = ^(\D*)
Run Code Online (Sandbox Code Playgroud)

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

整个字符串模式可以看起来像

^(\D*)(\d+)(\D*)$
Run Code Online (Sandbox Code Playgroud)

请参阅Reglex 图

在此输入图像描述

另请参阅正则表达式演示