2012-02-05 28 views
1

我是新的Python正則表達式和正則表達式不是我強大的套件。所以 我有一個文本行,例如 「懶惰棕色狐狸‘跳’過[txt_1234]」 下一行 「天塌」蟒蛇re.search模式與方括號和文本

第二行因此是無。

就像我寫的一樣。

  1. 我只需要提取txt_1234部分。沒有括號
  2. 同樣的結果必須以txt等「[]」如果存在應該被忽略
  3. 開始。如果[txt_ *不存在,它應該是無ofcourse 貌似我會使用搜索,而不是比賽。

聽起來很容易我知道,我只是不能正確的。

+0

我試過(?<= \ [)\ w +(?= \]),但努力確保txt_當我包括我是越來越沒有。 – Vangel 2012-02-05 23:07:11

+0

'但是當試圖確保txt_我包括我沒有收到'你能發佈你嘗試的確切代碼嗎?如果我能看到你的代碼,它會幫助我看到你的錯誤。 – 2012-02-05 23:11:13

+0

確定我認爲這是有效的(?<= \ [)txt _。\ w +?(?= \])測試,看看它是否會忽略非txt_ 我正在將txt_錯誤放在我的正則表達式中 編輯:我相信亞歷克斯可以修復他的正則表達式以排除大括號。 – Vangel 2012-02-05 23:11:54

回答

4

你的正則表達式將...

\[(txt_.*?)\] 
+0

是的,這是有效的。謝謝。我如何獲得比賽的價值?編輯:確定它與組(0),但它包括'[]',我想exlcude。 – Vangel 2012-02-05 23:02:06

+0

我已經在上面添加了我自己的測試(?<= \ [)\ w +?(?= \]),但是這樣做排除了大括號,但我需要確保txt_是rpesent。 – Vangel 2012-02-05 23:08:09

+0

@Vangel使用我提供的正則表達式,它確保'txt_'存在於括號內。 – alex 2012-02-05 23:09:41