Python使用正则表达式进行字符串替换

6

有人知道如何将所有的“<\d+”正则表达式替换为“\r\n<\d+”,例如:

"<20"

应该被转换为

"\r\n<20"

但是。
"> HELLO < asassdsa"

抱歉,您需要提供需要翻译的具体内容。
2个回答

10
>>> import re
>>> str = "<20"
>>> output = re.sub(r'<(?=\d)', r'\r\n<', str)
>>> output
'\r\n<20'

为什么不彻底一点,把整个正则表达式放进前瞻中? - Tim Pietzcker
@Tim:这正是我所想的。另外,也许我们不应该鼓励使用 str 作为变量名,尽管我总是找不到更好的名字 :( - Niklas B.

3
import re
def replace(value):
  return re.sub(r'(<\d)', r'\r\n\1', value)

或者使用前瞻:

import re
def replace(value):
  return re.sub(r'(?=<\d)', r'\r\n', value)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接