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

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

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

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

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

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

(?
  • (?
  • (d{3}):捕获组,匹配恰好三个连续数字。
  • (?!d):负向后瞻断言,确保匹配的数字序列之后没有数字字符。

python 示例

import re

data = [
    '123',
    '123u',
    'u123',
    'x123y',
    '1234',
    'x1234y',
    '12',
    '123y456',
]

for s in data:
    print(re.findall(r'(?<p>输出:</p>
['123']
['123']
['123']
['123']
[]
[]
[]
['123', '456']

以上就是如何使用正则表达式匹配恰好三个连续数字?的详细内容,更多请关注其它相关文章!