2013-11-28 64 views
0

我想找到一個有效的正則表達式,我可以用它去掉所有的空格或換行符。如何從html文檔中去除空白

下面是我試過的東西。

((\ S | \ N |嗎?\ r)<(\ S | \ n | \ r)的?)|(\ S | \ n | \ R)>(\ S?| \ n | \ r)的

本文

< tag src="abc" testattribute > 


<script > any script </script > 

<tag2>what is this </tag2> 
<tag> 

上我想最終的結果是正是這一點。

<tag src="abc" testattribute><script>any script</script><tag2>what is this</tag2><tag> 

回答

2

您可以在這裏簡單地使用\s來匹配空格。

\s matches whitespace (\n, \r, \t, \f, and " ") 

根據您使用的語言,您可以對此使用斷言。

(?<=<|>)\s*|(?<!>|<)\s*(?![^><]) 

live demo

正則表達式:

(?<=   look behind to see if there is: 
<    '<' 
    |    OR 
>    '>' 
)    end of look-behind 
\s*   whitespace (\n, \r, \t, \f, and " ") (0 or more times) 
|    OR 
(?<!   look behind to see if there is not: 
>    '>' 
    |   OR 
<    '<' 
)    end of look-behind 
\s*   whitespace (\n, \r, \t, \f, and " ") (0 or more times) 
(?!   look ahead to see if there is not: 
    [^><]  any character except: '>', '<' 
)    end of look-ahead 
+0

我一直在尋找爲他人在這裏一個JavaScript的解決辦法是什麼我試着用HWND的解決方案。 (?= <|>)\ S * | – varun

+0

也許嘗試|(><)\s*(?![^><]?!):'(?:<|>)|(?!> | <)\s*(?![^><])(\ S *)' – hwnd