2012-09-28 38 views
-1

可能重複:
RegEx match open tags except XHTML self-contained tagsJAVA正則表達式返回分隔符之間的鏈

我想檢索字符串分隔符之間......

這裏的示例:

<TAG> x1 x2 y1 y2 </TAG> 

我希望我的正則表達式返回TAG

你能還提供了一個鏈接到一個正則表達式的文件好嗎?

+1

[這裏是鏈接](http://www.regular-expressions.info) –

+0

看起來像HTML給我,看看[這裏](http://stackoverflow.com/a/1732454/1090657)如果它是。 – quantum

回答

1

只要標籤不遞歸,你所做的就可能是好的,否則它不是一個好主意! (一個有趣的read)。

如果你試圖寫正則表達式來得到的東西在這些標籤之間,如果這是唯一的確切情況下,你想處理:

  1. 您需要在標籤捕獲名稱1.見this - 這是通過括在圓括號中完成的。

regex = "<(.*?)>"

問號是爲了確保最短的字符串(非貪婪)匹配 - 這是你的情況下的標籤。如果你只是給<。*>它匹配整個表達式,因爲默認情況下,正則表達式傾向於匹配最長的字符串。括號存儲標籤名稱,以使其可在步驟2中使用

  • 然後,你需要確保結束標記具有相同的一個 - 這需要將一個反向引用被捕獲的組(參見this)。所以,在這裏你需要寫:
  • regex = "<(.*?)>.*</\1>"

    的\ 1是反向引用在第一組括號捕獲的表達。

    我沒有自己測試它,但它應該給你一個你需要用來寫這樣的表達的概念的想法。

    相關問題