簡體   English   中英

python中帶有re.search的正則表達式不起作用

[英]Regular expression with re.search in python doesn't work

我想為字符串test = "ID=ss59537-RA:exon:0;Parent=ss59537-RA;"寫一個正則表達式test = "ID=ss59537-RA:exon:0;Parent=ss59537-RA;" 所以我有了這個searchstr = re.compile(r'(ID = ss[\\d]+-RA)(:)(exon:[\\d]+)(;)(Parent = ss[\\d]+-RA;)')但是當我嘗試運行re.search命令時,我什么也沒回來。 我在這里做錯了什么?

searchstr = re.compile(r'(ID = ss[\d]+-RA)(:)(exon:[\d]+)(;)(Parent = ss[\d]+-RA;)')
test = "ID=ss59537-RA:exon:0;Parent=ss59537-RA;"
match = re.search(searchstr, test)
print(match)

我確保正則表達式與字符串匹配,但是當我使用reg.search運行它時,它不起作用。

您似乎計划在=號前后留出任意數量的空格。 您可以使用\\s*而不是文字空間來匹配任何0個空白字符。 我還建議從單個原子( [\\d] = \\d )周圍刪除[] ,然后將最后一個)移到;之前;

import re
searchstr = re.compile(r'(ID\s*=\s*ss\d+-RA):(exon:\d+);(Parent\s*=\s*ss\d+-RA);')
test = "ID=ss59537-RA:exon:0;Parent=ss59537-RA;"
match = re.search(searchstr, test)
print(match.groups())
# => ('ID=ss59537-RA', 'exon:0', 'Parent=ss59537-RA')

參見Python演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM