2010-06-09 2 views
1

왜 이것이 prepClass를 selectorClass라는 문자열에 비 알파 문자 대신 밑줄을 사용하여 지정하지 않습니까? 그것을 바꾸려면 무엇이 필요합니까?쉬운 자바 스크립트 Regex 질문

var regex = new RegExp("/W/", "g"); 
var prepClass = selectorClass.replace(regex, "_"); 

답변

4

몇 가지 : 당신이 RegExp 생성자를 사용하는 경우

  • , 당신은 슬래시 필요하지 않습니다, 당신은 아마 RegExp 리터럴의 구문을 혼동하고 있습니다.
  • 문자 클래스 \W과 일치해야합니다.

다음은 작동합니다

var regex = new RegExp("\\W", "g"); 

RegExp 생성자 패턴을 포함하는 문자열을 받아, 유의 당신해야 더블 탈출 단일 슬래시와 W를 얻기 위하여 슬래시 ("\W") 문자열에.

아니면 단순히 문자 표기법을 사용할 수 있습니다

var regex = /\W/g; 

권장 읽기 :

+0

Correctamundo. 감사. 제한 시간이 끝나 자마자 받아 들일 것입니다. – Matrym

+0

부수적 인 질문 - 가변 정규 표현식을 정의하는 대신 내부에서/\ W/g를 사용할 수 있습니까? – Matrym

+0

@Matrym : 예. replace :'.replace (new RegExp ("\\ W", "g"), "_")'또는 .replace (/ \ W/g, _ ")'. – Guffa