我有一个这样的文件:
(a) a. lo mfana
(20) Juan - il- -ech (lik) !
EB1: Incwadi [esi-yi-funda-yo: isitshudeni] in-de
Papa-wu-rna parlapiya-nyi paja-lkura.
b) kupi-Nku Nia taca-mu
i. gaan1 fong2 hak1 maa1 maa1, nei5 dim2 tai2 dou2 syu1 gaa3 i.
4. a. ngo5 lou5gung1 ci3ci3 faan1lei4. dou1 haak1 saai3 gam2
(n-ngwathel-l-e )
M: sik6-saai3 laa3! (17)
U3 : O?i=j se-si-ni duy-ur-am-yor-du (17)
我想在字符串的开头删除类似子弹的子字符串。这些项目符号用圆括号括起来,最多包含3个字母数字字符,以.
,)
或:
结尾。
所需的输出是:
a. lo mfana
Juan - il- -ech (lik) !
Incwadi [esi-yi-funda-yo: isitshudeni] in-de
Papa-wu-rna parlapiya-nyi paja-lkura.
kupi-Nku Nia taca-mu
gaan1 fong2 hak1 maa1 maa1, nei5 dim2 tai2 dou2 syu1 gaa3 i.
a. ngo5 lou5gung1 ci3ci3 faan1lei4. dou1 haak1 saai3 gam2
(n-ngwathel-l-e )
sik6-saai3 laa3! (17)
O?i=j se-si-ni duy-ur-am-yor-du (17)
我一直在这样做,但我的正则表达式。但我失败是因为:
使用 src = re.sub(r'\([^)]*\)', '', src)
,我删除了超过标题(...)
[in]:(20)Juan - il-ech(喜欢)!
[out]: Juan - il-ech!
[需要]: Juan - il-ech(喜欢)!
使用 src = re.sub(r'^\([^)]*\)', '', src)
,我能够在正则表达式中指定^
行的开头,但它没有获得最多3个字母数字条件。
[in]:(n-ngwathel-l-e)
[out]:
[需要]:(n-ngwathel-l-e)
[in]: U3:O?i = j se-si-ni duy-ur-am-yor-du(17)
[out]:
[需要]: O?i = j se-si-ni duy-ur-am-yor-du(17)
使用 re.sub(r'^:[^)]*\)', '',src)
和re.sub(r'^\.[^)]*\)', '',src)
,我无法使正则表达式检测[0-9a-zA-z][0-9a-zA-z][0-9a-zA-z]
后跟.
或{ {1}}
[in]: 4. a。 ngo5 lou5gung1 ci3ci3 faan1lei4。 dou1 haak1 saai3 gam2
[out]: 4. a。 ngo5 lou5gung1 ci3ci3 faan1lei4。 dou1 haak1 saai3 gam2
[需要]: a。 ngo5 lou5gung1 ci3ci3 faan1lei4。 dou1 haak1 saai3 gam2
[in]: EB1:Incwadi [esi-yi-funda-yo:isitshudeni] in-de
[out]: EB1:Incwadi [esi-yi-funda-yo:isitshudeni] in-de
[需要]: Incwadi [esi-yi-funda-yo:isitshudeni] in-de
我应该如何形成单个正则表达式/正则表达式替换链,以便我不会破坏其他正则表达式的其他正则表达式条件?
答案 0 :(得分:1)
^\(?\w{1,3}\s*[):.]\s*
我将采用你的每个正则表达式并输出每个问题:
1。使用src = re.sub(r'([^]] )','',src),我删除了超过标题(...)*
*
量词是贪婪的。它会尝试不是)
的最可能的字符。这就是为什么你得到的不仅仅是标题。
2。使用src = re.sub(r'^\([^)]*\)', '', src)
,我能够在正则表达式中使用^指定行的开头,但它没有获得最多3个字母数字条件。
*
量词表示zero or more
。如果您想要最多3个字母数字,则需要使用此量词:{1,3}
。这意味着1,2或3次。
3.使用re.sub(r'^:[^]] )','',src)和re.sub(r'^。[^]] ) ','',src),我无法进行正则表达式检测[0-9a-zA-z] [0-9a-zA-z] [0-9a-zA-z],然后是a。或者:
此处正则表达式缺少.
和:
以分别匹配这些字符。