【问题标题】:Prefix alphabets with $ regex用 $ 正则表达式前缀字母
【发布时间】:2015-03-21 00:06:33
【问题描述】:

我想在字符串中的所有字母前加上$

有人可以告诉我如何使用正则表达式吗?

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

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

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

【问题讨论】:

  • 为什么要回滚我的编辑?这只会改善您的问题。
  • 很抱歉,我不小心回滚了您的编辑。请重新编辑帖子。我认为回滚会单独移除红色高光。

标签: python regex shell


【解决方案1】:

只需去掉字符类后面的+,然后将字符类放入捕获组即可。 + 贪婪匹配一个或多个字符。

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

使用积极的前瞻断言。

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

【讨论】:

    【解决方案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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多