您好我在pythex玩弄正则表达式,我遇到了麻烦。我试图采取以下字符串
"RANDOM 1 ABBBABBBA SDFSBSBS WBWBSBW WBWBWBWB 10 EBEBEBEB EHRHSHSD EBWBBSHSHSB //"
并获取RANDOM和前锋斜杠之间的所有非数字字符。如何使用正则表达式执行此操作?救命!
答案 0 :(得分:0)
import re
text = 'RANDOM 1 ABBBABBBA SDFSBSBS WBWBSBW WBWBWBWB 10 EBEBEBEB EHRHSHSD EBWBBSHSHSB //'
for between_text in re.findall(r'(?<=RANDOM)(.+?)(?=\/\/)', text):
for word_match in re.findall(r'\b[^\d\W]+\b', between_text):
print(word_match)
输出:
ABBBABBBA
SDFSBSBS
WBWBSBW
WBWBWBWB
EBEBEBEB
EHRHSHSD
EBWBBSHSHSB
(?<=RANDOM)(.+?)(?=\/\/)
:
(?<=RANDOM)
是正面的背后,它与文本前的RANDOM
相匹配,(.+?)
匹配其间的所有文字,(?=\/\/)
是正向前瞻,与两个{ {1}}&#39;第有关(.+?)(?=\/\/)
的更多信息。
\/\/
:
\b[^\d\W]+\b
匹配字边界,\b
是否定集,匹配数字和非字(因此它匹配非数字和字); [^\d\W]+
表示它与一个或多个字符匹配。
答案 1 :(得分:0)
这是一个可能的解决方案:
+