回答
它取代了空間," "
(形式<...>
上子)的所有標籤。
這裏有一個正則表達式崩潰:
<
- 左標籤[^>]
- 什麼,但一個正確的標籤...+
- ...一次或多次>
- 一個正確的標籤。
的(
和)
只是圍繞表達式中的基團,其不無論如何使用。
的/ig
後綴說,正則表達式是區分我 nsensitive(無意義在這種情況下,由於rexeg沒有提到任何字母)和摹葉形指出,所有出現應及時更換。
+1本人無法說得更好或更簡單 – 2012-02-25 14:35:39
請注意,在這個正則表達式中括號是多餘的。 – Phrogz 2012-02-25 14:37:04
另外請注意,這是一個非常粗糙,不完整的RegExp去除標籤:''結果是'Evil?「>',而不是'」「'。並且,'i'標誌是可選的,因爲該模式本身不包含任何區分大小寫的字符。 – 2012-02-25 14:39:43
看起來它取代了HTML開始或結束標記。如果你需要分析正則表達式或測試它們,這裏是一個很棒的網站。 http://myregextester.com/index.php
NODE EXPLANATION
----------------------------------------------------------------------
(?i-msx: group, but do not capture (case-insensitive)
(with^and $ matching normally) (with . not
matching \n) (matching whitespace and #
normally):
----------------------------------------------------------------------
( group and capture to \1:
----------------------------------------------------------------------
< '<'
----------------------------------------------------------------------
( group and capture to \2:
----------------------------------------------------------------------
[^>]+ any character except: '>' (1 or more
times (matching the most amount
possible))
----------------------------------------------------------------------
) end of \2
----------------------------------------------------------------------
> '>'
----------------------------------------------------------------------
) end of \1
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
你的外are是混亂的,因爲它們不存在於正則表達式中。 – Phrogz 2012-02-25 14:37:50
@Progrog - 它們確實存在,但不一定要添加到原始模式。正則表達式有時很混亂,所以你並不孤單。 – 2012-02-25 15:05:28
- 1. <%: %>在ASP.NET(MVC2)中做什麼? (...)%>:
- 2. 什麼是<#= #>
- 3. 什麼是<%= ... %>
- 4. 什麼是長<name> =(長)<expression>;在Java中做?
- 5. matplotlib中的axes.flat是做什麼的?</p> <pre><code>for i, ax in enumerate(axes.flat): </code></pre> <p>這是什麼做的:
- 6. ExpressionVisitor.Visit <T>是做什麼用的?
- 7. <bdi>是做什麼用的?
- 8. DataContext.GetTable <TEntry>是做什麼的?
- 9. HTML - 什麼是<page>標籤在做什麼?
- 10. 什麼是<%: %>在asp.net mvc中做什麼?
- 11. Web組件 - 爲什麼<content>被替換爲<slot>
- 12. 人<Person>,什麼是<Person>?
- 13. 什麼是<Type>叫什麼?
- 14. <h:messages>在JSF中做什麼?
- 15. 在Java中做什麼<>?
- 16. 什麼是<\/script>?
- 17. {< >}是什麼意思?
- 18. <+>是什麼意思?
- 19. <>是什麼意思?
- 20. <>是什麼意思?
- 21. 什麼是(<type>?)?
- 22. 什麼是<PrivateImplementationDetails>?
- 23. X >> = N是做什麼的?
- 24. It.IsAny <Cart>(),It.IsAny <ShippingDetails>(),Times.Never()。他們在做什麼?
- 25. 在jQuery中$('<div></div>')做什麼?
- 26. 什麼是轉換列表<Byte>列出<Integer>
- 27. 什麼是C++ C11語法:「= {}」?</p> <pre><code>Obj obj = {}; </code></pre> <p>它能做什麼:
- 28. 爲什麼<$>和<*>的輸入順序是>> =?
- 29. 什麼是<script type =「text/javascript」><!--mce:0--></script>?
- 30. 爲什麼<textarea>顯示<>而不是< >?
正如@RobW指出的,你不想依賴這個正則表達式來阻止腳本注入。 – bdares 2012-02-25 14:43:37
不錯的例子,爲什麼我*總是*寫下至少*註冊exp應該在評論中做什麼。 – 2012-02-25 15:12:43