回答
它取代了空间," "
(形式<...>
上子)的所有标签。
这里有一个正则表达式崩溃:
<
- 左标签[^>]
- 什么,但一个正确的标签...+
- ...一次或多次>
- 一个正确的标签。
的(
和)
只是围绕表达式中的基团,其不无论如何使用。
的/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