我试图用1替换数字或单个字母(1)、(a)周围的括号。和2。我想保留较长的单词(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)
字符。你知道吗我把你所有的答案都记下来了。我想这可能会帮助别人。我总是和正则表达式斗争!!维克托·斯特里比厄给我指出了正确的方向。你知道吗
相关问题 更多 >
编程相关推荐