我试图用1替换数字或单个字母(1)、(a)周围的括号。二,。我想保留较长的文字(reprehenderit)
这就是我尝试过的。当我只想让句号出现一次时,所有前括号的两边都会出现句号
多谢各位
import re
text = '''Lorem ipsum dolor sit amet,\n\n(1)consectetur adipiscing elit, sed do eiusmod tempor incididunt\n\n(2)ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip\n\n(a) ex ea (commodo consequat). Duis aute irure dolor in (reprehenderit) in voluptate velit esse cillum dolore eu\n\n(b) fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'''
result = re.sub(r'[\(\)]','.\1', text)
Print(result)
我得到的是:
Lorem ipsum dolor sit amet,
.1. consectetur adipiscing elit, sed do eiusmod tempor incididunt
.2. ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
.a. ex ea .commodo consequat.. Duis aute irure dolor in .reprehenderit. in voluptate velit esse cillum dolore eu
.b. fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
我正在寻找:
Lorem ipsum dolor sit amet,
1. consectetur adipiscing elit, sed do eiusmod tempor incididunt
2. ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
a. ex ea (commodo consequat). Duis aute irure dolor in (reprehenderit) in voluptate velit esse cillum dolore eu
b. fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
实际上,您正在删除任何带有点的
(
和)
以及带有八进制代码\001
的字符如果要将行首的
(...)
替换为一个字母或数字,请使用见this regex demo。注意
^
的使用,它只允许在行首进行匹配(它与flags=re.M
标志一起工作)要在有1+个数字或字母时删除,请使用
见regex demo。这里,
^
-匹配行的开头\(
-(
字符(\d+|[a-z]+)
-1个或多个数字或1个或多个字母\)
-a)
字符李>相关问题 更多 >
编程相关推荐