正则表达式到 select 单词后的第一个数字
Regular expression to select the first digit after a word
我有这样的文字
number1234567890
我想 select 单词后的第一个数字,在这种情况下会导致 1
。
到目前为止,我使用 (\D)(\d)
正则表达式得到了 r1
的结果。
希望有人能提供帮助。提前致谢。
您可以使用
(?<=\D)\d
参见regex demo。
(?<=\D)
是正后视,它要求数字以外的字符立即出现在当前位置的左侧,然后 \d
将匹配出现在右侧的数字.
或者,仅 PCRE 变体:
^\D*\K\d
参见regex demo。
它将匹配字符串的开头,然后是除数字以外的任何 0+ 个字符,然后 \K
将重置匹配缓冲区,删除到目前为止匹配的所有文本,并且 \d
将匹配(第一个)数字。
我有这样的文字
number1234567890
我想 select 单词后的第一个数字,在这种情况下会导致 1
。
到目前为止,我使用 (\D)(\d)
正则表达式得到了 r1
的结果。
希望有人能提供帮助。提前致谢。
您可以使用
(?<=\D)\d
参见regex demo。
(?<=\D)
是正后视,它要求数字以外的字符立即出现在当前位置的左侧,然后 \d
将匹配出现在右侧的数字.
或者,仅 PCRE 变体:
^\D*\K\d
参见regex demo。
它将匹配字符串的开头,然后是除数字以外的任何 0+ 个字符,然后 \K
将重置匹配缓冲区,删除到目前为止匹配的所有文本,并且 \d
将匹配(第一个)数字。