2017-08-08 109 views
0

我正在開發一個chrome和firefox擴展,並且我堅持匹配某個標記和內容。你能幫我解決嗎?html textarea正則表達式匹配

代碼:

[QUOTE=UserAdmin;22061013] 
    [SIZE="4"] 
    [LEFT] 
     [COLOR="DarkGreen"] Sample text goes here [/COLOR] 
    [/LEFT] 
    [/SIZE] 
[/QUOTE] 

在這裏,我想匹配的[QUOTE=開始,因爲一切之後隨之而來將是完全不同的,每次最後受[/QUOTE]

結束標記

我不是正則表達式專家,這裏是我想出的:

const regex = /^(\[QUOTE=)/; 
const str = "[QUOTE=UserAdmin;22061013][SIZE="4"] [LEFT] [COLOR="DarkGreen"] Sample text goes here [/COLOR] [/LEFT] [/SIZE][/QUOTE]"; 

它成功地匹配如下,但我不知道這是做它的正確方法:

regex matched image

如果我能有一個正則表達式代碼以匹配任何內部[QUOTE=]....[/QUOTE]標記和保存它以後使用將受到高度讚賞。

Online regex fiddle link

+0

所以澄清:你只是想查詢第一個'[QUOTE =?]'或者你也想查詢裏面的內容'[QUOTE =? ]和[/ QUOTE]' – lumio

+0

裏面的內容[QUOTE =?]和[/ QUOTE]請 – CodeMonkey

+1

[請看這個例子](https://regex101.com/r/XcB04r/1) – lumio

回答

2

嘗試this

\[QUOTE=[\s\S]+\[\/QUOTE\] 
+0

你可以匹配'[ QUOTE ='和'[/ QUOTE]'的末尾? – CodeMonkey

+0

當然,這樣更容易。 *我剛剛注意到,第一個版本不適用於Javascript,因爲它的正則表達式引擎不支持積極的lookahead和lookbehinds * – tchelidze

+0

令人驚歎..我會仔細檢查並將您的答案標記爲接受。感謝您的幫助。 :) – CodeMonkey