我已经编写了这个简单的正则表达式来捕获“WKN”之后的六个字符,但我必须做错了,因为它也会返回“WKN”。
search_reply = "WKN A12BHF, IS3R"
wkn = re.search("WKN\s(.{6})", search_reply.text)
>>> "WKN A12BHF"
对于此示例,我只想保留"A12BHF"
。
答案 0 :(得分:2)
wkn = re.search("WKN\s(.{6})", search_reply.text).group(1)
应该这样做。你的正则表达式是正确的。你想要的是group
()
答案 1 :(得分:2)
import re
search_reply = "WKN A12BHF, IS3R"
wkn = re.search("(WKN\s)(.{6})", search_reply)
print(wkn.group(2))
试试这个
答案 2 :(得分:1)
你可以在这里使用积极的观察:
>>> re.search(r"(?<=WKN\s).{6}", search_reply).group()
'A12BHF'
(?<=WKN\s)
断言6位数文字前面有WKN
和空格。
答案 3 :(得分:1)
用于查找 WKN 的常见正则表达式,开头也没有“WKN”:
re.search("(?<!\S)[A-Z0-9]{6}(?!\S)", text)