2016-01-27 74 views
5

我看着標記化是如何中實現scikit學習,發現這個表達式(source):「(?u)」在正則表達式中做什麼?

token_pattern = r"(?u)\b\w\w+\b" 

正則表達式是相當簡單,但之前我從來沒有見過的(?u)部分。有人能解釋我這部分是做什麼的?

+4

它相當於're.U'國旗 – vaultah

+0

而且看起來更像Python。 –

+0

@sln:請你詳細說明一下嗎? – fwind

回答

13

它爲此表達式開啓re.U (re.UNICODE) flag

module documentation:組匹配空字符串

(?iLmsux)

(從集合'i''L''m''s''u''x'一個或多個字母);字母設置相應的標誌:re.I(忽略大小寫),re.L(區域依賴),re.M(多行),re.S(點匹配全部),re.U(取決於Unicode)和re.X(詳細),對於整個正則表達式。 (這些標誌在模塊內容中有描述。)如果您希望將標誌作爲正則表達式的一部分包含在內,而不是將標誌參數傳遞給re.compile()函數,那麼這非常有用。

+1

這很有道理......感謝您的快速回復! – fwind

相關問題