我遇到了另一位开发人员编写的代码,我无法弄清楚它在做什么:
title.replace(/(<([^>]+)>)/ig," ")
答案 0 :(得分:18)
它用空格<...>
替换所有标记(表单" "
上的子字符串)。
这是一个正则表达式细分:
<
- 左侧标记[^>]
- 除了正确的标签之外的任何东西...... +
- ...一次或多次>
- 正确的标记。 (
和)
只围绕表达式中的组,无论如何都不会使用。
/ig
后缀表示正则表达式是 i nsensitive(在这种情况下无意义,因为rexeg没有提及任何字母)和 g 表示应该更换所有事件。
答案 1 :(得分:3)
看起来它正在取代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
----------------------------------------------------------------------