用于连接的 Python 正则表达式替代方案

标签 python regex

假设我有一个字符串 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/

相关文章:

python - 使用 pandas 根据其他列中的值计算行和列的平均值

任何数字后跟特定字符的 PHP 正则表达式

javascript - javascript 缩小文件上的正则表达式最小匹配

python - 在pandas中查找两列中的关系值

python - django ModelAdmin 中的高级查询集。属性错误: 'dict' object has no attribute '_meta'

python - 如何在Windows 10中手动停止Python程序?

python - 使用 pandas 访问 json 列

javascript - jQuery 正则表达式检查用户输入的数字

jquery - 修复 RegEx 中的 JSLint 擒纵机构不良警告

python正则表达式获取除小数之外的数字