2024-10-06 10:33:58 发布
网友
你好,我在玩pythex中的正则表达式,遇到麻烦了。我试着拿下下面的绳子
"RANDOM 1 ABBBABBBA SDFSBSBS WBWBSBW WBWBWBWB 10 EBEBEBEB EHRHSHSD EBWBBSHSHSB //"
抓取随机斜杠和正斜杠之间的所有非数字字符。如何使用正则表达式实现这一点?救命啊!在
这是一个可能的解决方案:
import re s = 'RANDOM 1 ABBBABBBA SDFSBSBS WBWBSBW WBWBWBWB 10 EBEBEBEB EHRHSHSD EBWBBSHSHSB //' pattern = r'(?<=RANDOM).*?(?=//)' match = re.search(pattern, s) textBetween = match.group(0) notNumeric = re.sub(r'\d', '', textBetween) print(notNumeric)
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)
输出:
(?<=RANDOM)(.+?)(?=\/\/):
(?<=RANDOM)(.+?)(?=\/\/)
(?<=RANDOM)是正lookbehind,它匹配文本前面的RANDOM,(.+?)匹配中间的所有文本,(?=\/\/)是正前瞻,这与两个\/\/匹配。有关^{}的更多信息。在
(?<=RANDOM)
RANDOM
(.+?)
(?=\/\/)
\/\/
\b[^\d\W]+\b:
\b[^\d\W]+\b
\b匹配单词边界,[^\d\W]+是一个匹配数字和非单词的反集(因此它匹配非数字和单词);+表示它匹配一个或多个字符。在
\b
[^\d\W]+
+
这是一个可能的解决方案:
输出:
^{pr2}$(?<=RANDOM)(.+?)(?=\/\/)
:(?<=RANDOM)
是正lookbehind,它匹配文本前面的RANDOM
,(.+?)
匹配中间的所有文本,(?=\/\/)
是正前瞻,这与两个\/\/
匹配。有关^{\b[^\d\W]+\b
:\b
匹配单词边界,[^\d\W]+
是一个匹配数字和非单词的反集(因此它匹配非数字和单词);+
表示它匹配一个或多个字符。在相关问题 更多 >
编程相关推荐