假设我有一个字符串 string = 'abcdefghi'
并且我希望输出为 'a-b-c-d-e-f-g-h-i'
我可以轻松地使用 '-'.join (string)
并获得所需的输出。但是,如果我想使用正则表达式做同样的事情怎么办?我将如何使用正则表达式做同样的事情?
我问是因为我正在学习使用正则表达式并且想知道如何用它来思考。
最佳答案
使用环视的解决方案是
>>> import re
>>> str="abcdefghi"
>>> re.sub(r'(?<=\w)(?=\w)', '-', str)
'a-b-c-d-e-f-g-h-i'
(?<=\w)
断言一个字母前面有一个位置(?=\w)
断言字母后跟有位置
或
>>> re.sub(r'(?<=.)(?=.)', '-', str)
'a-b-c-d-e-f-g-h-i'
关于用于连接的 Python 正则表达式替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27457970/