我只想匹配字母字符,即a-zor A-Z,它也可以包含空格。目的是匹配任何多词名称,如'Vivek Jha'. 我希望以下正则表达式可以工作:
re.match(r'^[aA-zZ\s]+$', name)
Run Code Online (Sandbox Code Playgroud)
它适用于所有情况,但也匹配一个词: 'Vivek_Jha'
我不想和下划线匹配。这是_如何匹配的。
我曾在 Perl 和 Tcl 中研究过 Regex,但我认为 Python 正在做更多我能想象的事情。
小智 6
A-z正在捕获从 ASCII 字符A到 ASCII 字符的所有内容z。这包括_角色以及许多其他角色。有关这方面的更多信息,您可以查看Wikipedia 的 ASCII 文章。
要解决此问题,您需要执行以下操作:
re.match(r'[a-zA-Z\s]+$', name)
Run Code Online (Sandbox Code Playgroud)
这告诉 Python 只捕获 ASCII 范围内的字符a-z和A-Z.
此外,我默认从字符串的开头删除了^因为re.match匹配。
| 归档时间: |
|
| 查看次数: |
6889 次 |
| 最近记录: |