如何在Python中查找两个特殊字符之间的字符串?

1 投票
2 回答
1522 浏览
提问于 2025-04-18 16:29

我有一组这样的字符串:

uc001acu.2;C1orf159;chr1:1046736-1056736;uc001act.2;C1orf159;

我需要从中提取两个分号之间的子字符串,而且我只需要第一个出现的结果。

结果应该是:C1orf159

我试过这个代码,但它不管用:

import re
info = "uc001acu.2;C1orf159;chr1:1046736-1056736;uc001act.2;C1orf159;"
name = re.search(r'\;(.*)\;', info)
print name.group()

请帮帮我。谢谢!

2 个回答

0
       import re
       pattern=re.compile(r".*?;([a-zA-Z0-9]+);.*")
       print pattern.match(info).groups()

这个代码的意思是,它会先找到第一个分号(;),然后用一种不贪心的方式去匹配,也就是尽量少地匹配字符,直到找到分号为止。接着,它会抓取接下来的字母和数字组合,直到找到下一个分号为止。最后,它会把匹配到的内容通过 .groups() 方法提取出来。

6

你可以把这个字符串分开,并且限制分开的次数为两次。

x = info.split(';',2)[1]

撰写回答