如何从这两个字符串中提取字符串信息?

2024-06-08 15:11:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想编写一个正则表达式代码,从这两个字符串中提取字符串:

string1 = '@HISEQ:625:HC2T5BCXY:1:1101:1177:2101'
string2 = '@SRR7216015.1 HISEQ:630:HC2VKBCXY:1:1101:1177:2073/1'

我想在@后面提取字符串,直到它到达末尾或空格

HISEQ:625:HC2T5BCXY:1:1101:1177:2101 from string1

SRR7216015.1 from string2

那么,如何做到这一点。我已经测试了一堆正则表达式代码,但都做不到

下面是我尝试的代码:

string1 = '@HISEQ:625:HC2T5BCXY:1:1101:1177:2101'
string2 = '@SRR7216015.1 HISEQ:630:HC2VKBCXY:1:1101:1177:2073/1'
pattern1 = re.compile(r'@(\w*.*:*\d*:*\w*:*\d*:*\d*[$|\s])')
print(pattern1.search(string1).group(1))

提前谢谢


Tags: 字符串代码fromresearch空格printcompile
2条回答

只用

@(\S+)

以第一组为例。正如其他答案所建议的那样,环顾四周或替代方案是昂贵的

您可以使用此正则表达式:

(?<=@).*?(?= |$)

使用环顾四周(?<=@)(?= |$)匹配空格或字符串结尾之前检查@signt.*将这两者之间的一切都匹配起来

https://regex101.com/r/p7kI2O/1

相关问题 更多 >