gpt4 book ai didi

python - 字母、破折号、下划线、数字和空格的正则表达式

转载 作者:行者123 更新时间:2023-11-28 19:45:16 25 4
gpt4 key购买 nike

这是我的尝试

def matcher(ex):
if re.match(r'^[\w|\d][A-Za-z0-9_-]+$', ex):
print 'yes'

我的目标是只匹配满足以下所有条件的提交

  1. 仅以字母或数字开头,并且
  2. 只允许字母、空格、破折号、下划线和数字
  3. 删除所有结尾空格

在我的正则表达式中,matcher('__') 被认为是有效的。我该如何修改才能实现我真正想要的?我相信 \w 也包括下划线。但是 matcher('_') 没有匹配到...

最佳答案

def matcher(ex):
ex = ex.rstrip()
if re.match(r'^[a-zA-Z0-9][ A-Za-z0-9_-]*$', ex):
print 'yes'

原始正则表达式中的问题:

  1. |并不表示字符类中的交替,而是字面上的管道字符。

  2. 您使用了 +对于您的后续字符,表示一个或多个,因此一个字符的字符串,如 '_'不匹配。

  3. 您使用了 \w在你的第一个字符中,接受下划线。

关于python - 字母、破折号、下划线、数字和空格的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com