2012-04-26 57 views
0

我試圖寫在JSP下面的代碼相匹配的REG EXP:如何編寫一個識別每個表達式的正則表達式?

="<%= "Index: " + index %>" 

但是,如果我把它寫在匹配爲此,最多被合併在同一行籠統地表述:

value="<%= "items[" + Index + "].selected" %>" id="<%= "Checkbox" + Index %>" 

有人可以幫我找出reg exp分別識別value和id標記,以便我可以把搜索替換爲用單引號替換外部雙引號嗎?

謝謝, 阿列克謝藍。

P.s. 到目前爲止,我有這裏面ISN「T不夠具體:

"=<%=.*".*".*%>" 

回答

1

如果你想匹配,包括引號整個「<%%>」的元素,不管是什麼,在標籤內(除了%),我會用這個表達式:

"<%=[^%]+%>" 

你可能會需要逃避這樣的代碼報價:\"

什麼它說的是:

  • 匹配「<%
  • 比賽的一切,這不是一個%
  • 匹配%>」

編輯:

如果你只對其中具有內部雙引號中的元素特別感興趣 - 使用此:

"<%=([^%]*"){2}[^%]+%>" 
  • ([^%]*"){2}:匹配一切,這不是%(可選)和雙報價 - 重複兩次
  • [^%]+:匹配任何剩餘字符
+0

感謝喬安娜,工作了一個治療:)也非常快 – 2012-04-26 13:45:36

1

你可以試試這個:

<%=\s*"(.+?)"(.+?)\s*%>

?+使得+匹配儘可能少。

+0

由於古斯塔沃,+1用來說明+?操作。 – 2012-04-26 13:45:04