python - 使用正则表达式查找多次出现的字符

标签 python regex

我使用模式 pat='dd|dddd' ,我认为它会匹配 dd 或 dddd。

import re
re.search(pat,'ddd')
re.search(pat,'ddddd')

任何数量的 d(s) 匹配为什么会这样?

最佳答案

您需要以某种方式锚定正则表达式。正则表达式在字符串中搜索以查找模式。因此,“dd”将在“dddddddd”中的偏移量 0,1,2,3,4,5,6 处找到。

如果您只想匹配整个字符串,请尝试 ^dd$。 ^ 匹配字符串的开头,$ 匹配结尾。所以 ^(dd|dddd)$ 将具有您想要的行为。

如果你希望它只匹配 dd 或 dddd 但在一个字符串中。然后你可能想使用: td”

关于python - 使用正则表达式查找多次出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239346/

相关文章:

python - 关于 pexpect 模块的新手澄清

javascript - 正则表达式用下划线替换两个指定字符串之间的空格

regex - Raku 中的否定命名正则表达式或字符类插值

java - 检测$character java正则表达式

regex - 通过 htaccess 将部分添加到 URL

regex - MSBuild FileUpdate 目标的 ReplacementText 字符串中的双引号出现问题

python - 检查字符串列表 A 中的任何项目是否是字符串列表 B 中的项目的子字符串

python - 为自定义词汇创建 N-gram 模型

python - 在 Python 中获取两个列表组合的最佳方法是什么 -

python - 使用python,我应该将大数据缓存在数组中并一次写入文件吗?