我正在使用Python,現在我想要一些東西來匹配,直到一個空格或字符串的結尾,所以我有正則表達式".*?[ $]"
。有什麼方法可以在正則表達式集中使用特殊字符嗎?
但是測試的是,看它不工作我看着documentation,發現特殊字符失去裏面套了特殊的意義了。
有沒有把這個意思放回集的方法嗎?
我正在使用Python,現在我想要一些東西來匹配,直到一個空格或字符串的結尾,所以我有正則表達式".*?[ $]"
。有什麼方法可以在正則表達式集中使用特殊字符嗎?
但是測試的是,看它不工作我看着documentation,發現特殊字符失去裏面套了特殊的意義了。
有沒有把這個意思放回集的方法嗎?
沒有,特別意思不能被放回到集合中,所以正則表達式必須被重寫。
我結束了使用以下正則表達式:.*?(?:\s|$)
這是不同的答案的組合。
那是因爲你正則表達式是不正確,你的正則表達式匹配.*?
+空格或字符$
字面上。(請注意,除了]
每一個正則表達式字符的字符類中會被轉義)
相反,你可以提前使用正面看:
.*(?= |$)
您可以使用以下方法:
a = "testing for fun"
n = match('[^\s]+',a)
>> testing
謝謝!這有幫助! –
我認爲,你的目的的話錨就足夠了。從re
內部文件(運行pydoc re
如果您使用的是類Unix系統):
\b Matches the empty string, but only at the start or end of a word.
所以,你的正則表達式將是這樣的:
".*?\\b"
或
r".*?\b"
Nope -'''特殊字符在集合內失去其特殊含義。 '''。回到繪圖板。 – wwii
如果有一個字符串與一個字符 - 空格?如果一個字符串是空的呢? – sln
@wwii謝謝,這正是我想知道的。 (雖然答案確實幫助我解決了我的問題。) –