2008-11-18 88 views
0

有人能告訴我一個正則表達式之間的事情,選擇#OnlinePopup_AFE53E2CACBF4D8196E6360D4DDB6B70其好承擔#OnlinePopup正則表達式來選擇#OnlinePopup和_

~DCTM~dctm://aicpcudev/37004e1f8000219e?DMS_OBJECT_SPEC=RELATION_ID#OnlinePopup_AFE53E2CACBF4D8196E6360D4DDB6B70_11472026_1214836152225_6455280574472127786 
+0

你想這樣做的什麼語言? – 2008-11-18 00:11:37

回答

2

注:以下是.NET正則表達式的語法,修改您的味道。

以下:

#[^_]+_[^_]+ 

將匹配:

  • 哈希
  • 一個或多個字符,直到下劃線
  • 下劃線
  • 一個或多個字符,直到下劃線

如果第一位是恆定的,而你想更具體一些,你可以使用:

#OnlinePopup_[A-F0-9]+ 

這將匹配

  • OnlinePopup_(恰好)

  • 一個或多個十六進制字符,直到非十六進制字符
+0

解析「\#[^ \ _] + \ _ [^ \ _] +」 - 無法識別的轉義序列\ _。 – joe 2008-11-18 00:07:26

+0

對不起,請嘗試刪除\中的\ _。正則表達式語言幾乎沒有像這樣的變化。 – 2008-11-18 00:09:47

0

只需匹配第一個'#'和第一個或最後一個'_'將不適用於您的示例,因爲您要返回的字符串中包含下劃線。如果所有你想要匹配的文本只有一個下劃線在裏面,你可以使用這個表達式:

/(#[^_]+_[^_]+)/ 

這一個井號(#)匹配,其次是兩個字符串不包含下劃線,由單個下劃線分隔。

0

簡單的東西一點點:

(\#OnlinePopup_.*?)_ 

假設你的文字以#開頭,以結束_