簡體   English   中英

Python:REGEX在一個地方工作,但不能在另一個地方工作

[英]Python: REGEX works in one place, but not another with same input

我將在此之前說明我不是一個Python編碼器,我只是一起攻擊這個以便快速檢查我的Android應用程序的數據庫。 那我想把它變成我網頁的腳本。 除此之外,我無法弄清楚為什么for-statement之外的代碼在內部不起作用。 看起來行和行2是相同的。 它在第一個中拉出“初學者”表名,但不會在循環中。 謝謝您的幫助。

row = "(u'beginner',)"
print row
temp = re.search('\(u\'(.*)\',\)', row).group(1)
print temp

#getRows is a cursor fetch on a sqlite DB if that matters        
for row2 in getRows:
    print row2
    temp = re.search('\(u\'(.*)\',\)', row2).group(1)
    print temp 

OUTPUT:

Finding files... done.
Importing test modules ... 
(u'beginner',)
beginner
(u'beginner',)
done.

在0.000秒內進行0測試

我知道它為什么不起作用:因為雖然row和row2的字符串表示是相同的,但它們實際上並不完全相同。 嘗試打印type(row2) ,你會發現它是一個元組。 我知道這是因為DB API會返回一個元組,而不是一個看起來像元組的字符串。

所以當你有這個:

row = "(u'beginner',)"

它是一個看起來像元組的字符串,你可以重新搜索它。 但是你不應該這樣做 - 在數據庫行中,你應該只通過row2[0]獲取字符串內容而不使用re。

暫無
暫無

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

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