Python正则表达式查找并添加到开头

Python正则表达式查找并添加到开头,python,regex,python-2.7,Python,Regex,Python 2.7,刚刚学习Python中的正则表达式,就被困在这个案例中: str = ''' Here are some order bullets: i. Foo ii. Bar iii. Baz iv. YOLO ... x. LOL ''' 我如何做到这一点: str = ''' Here are some order bullets: - i. Foo - ii. Bar - iii. Baz - iv. YOLO ... - x. LOL ''' 您可以在多行模式下使用此正则表达式: >&g

刚刚学习Python中的正则表达式,就被困在这个案例中:

str = '''
Here are some order bullets:
i. Foo
ii. Bar
iii. Baz
iv. YOLO
...
x. LOL
'''
我如何做到这一点:

str = '''
Here are some order bullets:
- i. Foo
- ii. Bar
- iii. Baz
- iv. YOLO
...
- x. LOL
'''

您可以在
多行模式下使用此正则表达式:

>>> print re.sub(r'(?m)^([a-zA-Z0-9]+\.)', r'- \1', str)

Here are some order bullets:
- i. Foo
- ii. Bar
- iii. Baz
- iv. YOLO
...
- x. LOL
正则表达式分解:

搜索:

  • (?m)
    :启用多行模式
  • ^
    :开始
  • ([a-zA-Z0-9]+\)
    :匹配和分组1+字母数字字符
更换:

  • -
    :放置文字
    “-”
  • \1
    :返回对捕获组的引用#1

您可以在
多行模式下使用此正则表达式:

>>> print re.sub(r'(?m)^([a-zA-Z0-9]+\.)', r'- \1', str)

Here are some order bullets:
- i. Foo
- ii. Bar
- iii. Baz
- iv. YOLO
...
- x. LOL
正则表达式分解:

搜索:

  • (?m)
    :启用多行模式
  • ^
    :开始
  • ([a-zA-Z0-9]+\)
    :匹配和分组1+字母数字字符
更换:

  • -
    :放置文字
    “-”
  • \1
    :返回对捕获组的引用#1

查看。查看。哇,太快了!谢谢你的帮助和很好的解释-我真的很感激。哇,太快了!非常感谢你的帮助和很好的解释-我真的很感激。