我試圖從字符串中提取令牌,以使這些令牌滿足特定的條件。在我的具體情況,我想提取符號,如+,=, - ,等Python正則表達式匹配不在引號之間的某些字符
我已經創建了下面的正則表達式:
然而,當我申請:
reg.findall('x += "hello + world"')
它還匹配引號之間的+,所以它輸出:
['+', '=', '+']
我的預期成果是:
['+', '=']
我的問題是,我該如何做到這一點?它甚至有可能嗎?我一直在網上衝浪,但只發現如何匹配除雙引號外的所有內容,以及類似的內容。
這是不可能一次完成的。您需要首先消除所有引用段(並正確處理任何嵌套引號)。但是這個的目的是什麼?它看起來像你試圖解析源代碼,或者也許是算術語句。 – ekhumoro
事實上,我正在嘗試對源代碼進行詞法分析,所以我只想在這種情況下我定義的符號類型符號的標記。問題是,當定義一個字符串時,我不知道如何處理它。我的猜測是與團體一起玩,但我不知道它是否是正確的路徑... – dpalma
源代碼是什麼語言?如果是python,請使用[tokenize](https://docs.python.org/2/library/tokenize.html#module-tokenize)。 – ekhumoro