나는 다른 개발자가 작성한 올 코드 건너하고 나는 그것이 수행되고 있는지 작동하지 않을 수 있습니다대체 (/ (<([^>) +)>)/ig, "") 무엇을 하시겠습니까?
title.replace(/(<([^>]+)>)/ig," ")
나는 다른 개발자가 작성한 올 코드 건너하고 나는 그것이 수행되고 있는지 작동하지 않을 수 있습니다대체 (/ (<([^>) +)>)/ig, "") 무엇을 하시겠습니까?
title.replace(/(<([^>]+)>)/ig," ")
그것은 공간, " "
와 (양식 <...>
에 문자열) 모든 태그를 대체합니다.
+
... 권리 태그 아무것도하지만 - 왼쪽 태그[^>]
-
<
- : 는 여기에 정규 표현식 고장입니다 ... 한 번 이상
>
- 오른쪽 태그.(
및 )
은 어쨌든 사용되지 않는 표현식의 그룹을 둘러 쌉니다.
/ig
접미사와 합니다 (rexeg 어떤 편지를 언급하지 않기 때문에,이 경우 무의미) 정규식이 경우 내가 nsensitive 것을 말한다 g lobal 모든 발생을 교체해야한다는.
+1 나 자신을 더 좋게 또는 단순하게 말하지 못했을 수도있다. –
괄호는이 정규식에서 불필요하다. – Phrogz
태그를 제거하는 것은 매우 거칠고 불완전한 RegExp입니다 : '
HTML 시작 또는 끝 태그를 대체하는 것처럼 보입니다. 혹시 Regex 표현식을 파싱하거나 테스트해야 할 필요가 있다면 여기에 훌륭한 사이트가 있습니다. 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
----------------------------------------------------------------------
바깥 쪽 괄호는 정규식에 없기 때문에 혼란 스럽습니다. – Phrogz
@Phrogz - 그들은 존재하지만 원시 패턴에 추가 할 필요는 없습니다. 정규 표현식은 때때로 혼란 스럽기 때문에 혼자가 아닙니다. –
@RobW가 지적했듯이,이 정규식을 사용하여 스크립트 주입을 차단하고 싶지는 않습니다. – bdares
좋은 예가 왜 * 항상 * * * 어떤 * reg exp가 코멘트에서해야한다고 생각하는지. –