我不會使用正則表達式來解析標記,但如果它只是一個字符串片段,這樣的東西就足夠了。應該指出,你使用的正則表達式使用\ s *來負擔過重。它的可選形式可以通過開銷並替換完全相同的東西。最好使用\ S +
正則表達式:<(/?(?:b|i|u)|code\s[^>]+class\s*=\s*(['"]).*?\2[^>]*?)\s+>
取代:<$1>
修飾符:sgi
< # < Opening markup char
( # Capture group 1
/? # optional element termination
(?: # grouping, non-capture
b|i|u # elements 'b', 'i', or 'u'
) # end grouping
| # OR,
code # element 'code' only
\s [^>]* # followed by a space and possibly any chars except '>'
class \s* = \s* # 'class' attribute '=' something
(['"]) .*? \2 # value delimeter, then some possible chars, then delimeter
[^>]*? # followed by possibly any chars not '>'
) # End capture group 1
\s+ # Here need 1 or more whitespace, what is being removed
> # > Closing markup char
來源
2011-03-14 18:52:53
sln
不要使用正則表達式解析HTML/XML。爲什麼不使用jQuery的操縱器呢? – 2011-03-14 17:45:02