我想用正則表達式從Behind ## The Scenes
得到字符串## The Scenes
。在Python中,如何使用正則表達式從「在#場景後面」找到「#場景」?
這就是我所做的正則表達式。
pattern = re.compile("#+\s\w+")
當我運行腳本,我得到d ## The Scenes
字符串。
我哪有?
我想用正則表達式從Behind ## The Scenes
得到字符串## The Scenes
。在Python中,如何使用正則表達式從「在#場景後面」找到「#場景」?
這就是我所做的正則表達式。
pattern = re.compile("#+\s\w+")
當我運行腳本,我得到d ## The Scenes
字符串。
我哪有?
正如其他人所指出的那樣,你的正則表達式模式不匹配「d ##的場景」,它匹配「##的」。如果你想 「##的場景」,這種模式增加了一個額外的空間和字你的,應該工作:
「#+ \ S \ w + \ S \ W +」
這不是一個好的模式,因爲它不適用於「Behind ## The Scenes」或「Be behind ## The Scenes And More Words」等字符串。 –
爲什麼它不適用於「幕後##」?我把它設計成**不匹配所有的「背後的場景和更多的話」,因爲目前尚不清楚OP是否需要這種行爲。 –
你的模式看起來像硬編碼,我的模式更靈活。 –
你是怎麼得到「# #場景「?我不知道。使用你的模式後,我得到了「## The」。
但這樣的代碼:
pattern = re.compile("#+[\s\w]+")
完美。
我想,這是你所需要的。
這將抓住「##」後面的所有單詞,這可能不是OP想要的。 –
但是falcon.guru沒有指定,代碼必須返回其他字符串。 –
無法重現:http://ideone.com/ZWczaJ。 –
我還獲得「##的」 –
你不能得到這爲'「\ S \ W +」'代表「_one_空間,一個或多個單詞字符」,那麼你應該得到'「##的」' 。 – ForceBru