PHP前端开发

如何使用正则表达式匹配恰好三个连续数字?

百变鹏仔 4天前 #Python
文章标签 如何使用

正则匹配恰好三个连续数字

如何使用正则表达式匹配恰好三个连续数字,既不能少于三个也不能多于三个?

原先的正则表达式 "[^0-9]*[0-9]{3}[^0-9]*" 虽然可以匹配三个连续数字,但它忽略了开头或结尾可能存在的非数字字符。

修改后的正则表达式如下:

(?<!d)(d{3})(?!d)

python 示例

import redata = [    '123',    '123u',    'u123',    'x123y',    '1234',    'x1234y',    '12',    '123y456',]for s in data:    print(re.findall(r'(?<!d)(d{3})(?!d)', s))

输出:

['123']['123']['123']['123'][][][]['123', '456']