2024-09-30 19:32:54 发布
网友
我有这个字符串: 转发:MKEQP2B4.BIN
我需要把FW:后面的部分和其他部分分开。因为这只是一个更大的字符串的一部分,对于不同的字符串,FW:的格式可以不同,所以我决定使用regex。你知道吗
我有一个regex FW:.*(\S+).*,但它与我的字符串匹配,但.group(1)只是一个字符“N”。我使用.search()
FW:.*(\S+).*
.group(1)
.search()
为什么正则表达式对于如此简单的任务表现得如此古怪。。。你知道吗
您可以尝试下面的正则表达式来获取FW:之后的字符串
FW:
>>> import re >>> str = 'FW:MKEQP2B4.BIN' >>> m = re.search(r'(?<=FW:).*', str) >>> m.group() 'MKEQP2B4.BIN'
如果你不想要.BIN部分,那么试试这个
.BIN
>>> m = re.search(r'(?<=FW:).*?(?=\.)', str) >>> m.group() 'MKEQP2B4'
这将起作用:
match = re.search(r"FW:(\S+)", subject) if match: result = match.group(1) else: result = ""
在the demo中,请参见右窗格中的组1。你知道吗
你的正则表达式完全按照你的命令去做。只是你没有把事情做好。你知道吗
我猜你在寻找:
FW:.*?(\S+).*?
懒惰的那个!你知道吗
实际上你甚至不需要.*?
.*?
在FW:(\S+)中,$1的结果将是MKEQP2B4.BIN
FW:(\S+)
MKEQP2B4.BIN
您可以尝试下面的正则表达式来获取
FW:
之后的字符串如果你不想要
.BIN
部分,那么试试这个这将起作用:
在the demo中,请参见右窗格中的组1。你知道吗
你的正则表达式完全按照你的命令去做。只是你没有把事情做好。你知道吗
我猜你在寻找:
懒惰的那个!你知道吗
实际上你甚至不需要
.*?
在
FW:(\S+)
中,$1的结果将是MKEQP2B4.BIN
相关问题 更多 >
编程相关推荐