簡體   English   中英

使用正則表達式刮擦沒有括號的清潔科學名稱

[英]Scraping Clean Scientific Names with No Parenthesis Using regex

我正在使用正則表達式從網站上搜集科學名稱,我無法弄清楚如何不用科學名稱拉括號。

HTML是這樣寫的:

<span class="SciName">(Acanthastrea bowerbanki)</span>

我的正則表達式是這樣寫的:

regex = '<span class="SciName">(.+?)</span>'

我的結果如下:

(Acanthastrea bowerbanki)

但我需要它們看起來像這樣:

Acanthastrea bowerbanki

你需要一對額外的括號,你必須用反斜杠轉義它們以使它們成為文字字符:

regex = r'<span class="SciName">\((.+?)\)</span>'

您將使用此作為:

import re

text = '<span class="SciName">(Acanthastrea bowerbanki)</span>'
regex = r'<span class="SciName">\((.+?)\)</span>'
m = re.match(regex, text)
print m.group(1)

您不需要使用正則表達式。

s = 'blah blah blah (Acanthastrea bowerbanki) blah blah blah'

scientistName = s[s.find("(")+1:s.find(")")]

暫無
暫無

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

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