以$regex作为字母表前缀

2024-09-28 22:22:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用$作为字符串中所有字母的前缀

有人能告诉我怎么用regex吗

示例:如果str = 'he123',则输出应该是$h$e123

我是正则表达式的初学者。我试过了,但没用:

re.sub('[a-zA-Z]+', '$'str, str)

Tags: 字符串re示例字母regex初学者strza
2条回答

非正则表达式解决方案:

''.join(['$' + c if c.isalpha() else c for c in str])

>>> str = 'he12th'
>>> ''.join(['$' + c if c.isalpha() else c for c in str])
'$h$e12$t$h'

只需删除character类后面的+,然后将character类放入捕获组+贪婪地匹配一个或多个字符

>>> re.sub(r'([a-zA-Z])', r'$\1', 'he123')
'$h$e123'

或者

使用正向前瞻断言

>>> re.sub(r'(?=[a-zA-Z])', r'$', 'he123')
'$h$e123'

相关问题 更多 >