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

问题描述 投票:-2回答:2

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

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))

提前感谢!

python regex
2个回答
0
投票

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

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

使用环顾四周。 (?<=@)之前检查@符号,(?= |$)匹配空格或字符串结尾。 .*计算之间的所有关系

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


0
投票

仅使用

@(\S+)

并参加第一组。

© www.soinside.com 2019 - 2024. All rights reserved.