我看着標記化是如何中實現scikit學習,發現這個表達式(source):「(?u)」在正則表達式中做什麼?
token_pattern = r"(?u)\b\w\w+\b"
正則表達式是相當簡單,但之前我從來沒有見過的(?u)
部分。有人能解釋我這部分是做什麼的?
我看着標記化是如何中實現scikit學習,發現這個表達式(source):「(?u)」在正則表達式中做什麼?
token_pattern = r"(?u)\b\w\w+\b"
正則表達式是相當簡單,但之前我從來沒有見過的(?u)
部分。有人能解釋我這部分是做什麼的?
它爲此表達式開啓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()
函數,那麼這非常有用。
這很有道理......感謝您的快速回復! – fwind
它相當於're.U'國旗 – vaultah
而且看起來更像Python。 –
@sln:請你詳細說明一下嗎? – fwind