首页 > 解决方案 > 正则表达式量词 Python

问题描述

大家好,我不明白这个正则表达式量词是如何工作的:

\w{,2}

当我将它应用于我的文本时,将显示此结果:

在此处输入图像描述

标签: pythonregex

解决方案


\w表示文字符号:任何字母数字下划线符号

{,2}表示这些符号的数量 - 0 到 2 个符号。

在此处输入图像描述

请注意,它也匹配零 (0)个符号,这可能很危险。

您可以通过在图片中交替使用黄色和蓝色来看到它,例如 between Myand name,它们都是黄色的,因此它们之间必须有蓝色的东西 - 它是.之后的0 符号匹配My


笔记:

您使用了 pythex,它不会交替颜色,因此您无法区分单个匹配的部分。

使用其他正则表达式编辑器,例如regex101

在此处输入图像描述


详细地:

  1. 尝试 0 到 2 个\w符号匹配My name is Furat

    • 0-symbols match just before My— 继续尝试 1-symbol 匹配。
    • 1-symbol match: M— 继续尝试 2-symbols 匹配。
    • 2 个符号匹配:My— 停止,达到最大允许符号。

    所以第一场比赛是My.

  2. \w在剩余部分 尝试 0 到 2 个符号匹配 name is Furat

    • 0-symbols match just before (the space in) name— 继续尝试 1-symbols 匹配。
    • 没有成功——空格符号既不是字母,也不是数字,也不是下划线字符。

    所以第二个匹配只是在 (the space in) 之前的 0-symbols 匹配 name

    在 0 个符号匹配后前进一个字符,所以剩下的部分是 name is Furat.

  3. \w在剩余部分 尝试 0 到 2 个符号匹配name is Furat

    • 0-symbols match just before name— 继续尝试 1-symbol 匹配。
    • 1-symbol match: n— 继续尝试 2-symbols 匹配。
    • 2 个符号匹配:na— 停止,达到最大允许符号。

    所以第三场比赛是na

  4. ... 等等。


推荐阅读