PHP前端开发

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

百变鹏仔 4天前 #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']

    原理解析:

    正则表达式中:

    其他语言实现:

    ['123', '123u', 'u123', 'x123y', '1234', '12'].map(s => s.match(/^d*(d{3})d*$/)?.[1])

    输出:

    ['123', '123', '123', '123', undefined, undefined]