2009-08-22 5 views

답변

1

\w 코드는 [0-9A-Za-z_]과 같은 단일 영숫자 문자와 일치합니다.

한정자는 {0,} 한정 기호와 동일하므로 0 번 이상 반복합니다.

한정 기호 뒤에 물음표를 넣으면 게으르다. 즉 가능한 한 많은 문자 대신 가능한 한 적은 문자와 일치합니다.

따라서 \w*?은 0 개 이상의 영숫자와 느리게 일치합니다.

숫자가 될 수없는 문자를 필터링하려면 음수 세트를 사용하지 않는 이유는 무엇입니까? 이는 빼기 부호 또는 숫자가 아닌 문자와 일치합니다 :

[^\-\d] 
+0

OP가 '?'을 사용하고 있다고 생각합니다. 정규 표현식의 일부가 아닌 물음표로 사용되었습니다. 내 편집을 참조하십시오. –

1

\w은 ([A-ZA-Z0-9_] 줄임말) 밑줄을 포함하는 임의의 영숫자 문자 (문자 워드) 일치한다.

[A-Za-z0-9_]와 동일합니다.

예를 들어/\ w는 "apple"의 'a', '$ 5.28'의 '5'및 '3D'의 '3'과 일치합니다.

*

반복 이전 항목을 0 번 이상. 욕심이 많으므로 가능한 한 많은 항목이 이전 항목의 일치가 적은 순열을 시도하기 전에 일치해야합니다 (이전 항목이 전혀 일치하지 않는 지점까지).

+0

'\ w *'는 무엇입니까? – anonymous

+1

@phoenix : 질문은 규칙적이고 욕심 많은'*', '?'에 관한 것 같습니다. 문장 구두점으로 사용 된 후에 어쨌든 당신의 정의가 탐욕 스럽기 때문에, 대답에서 "*? (게으른 별)"을 "*"로 변경했습니다. 당신이 꺼리지 않기를 바랍니다. –

+0

신경 쓰지 마십시오. 고마워요. 앨런. – rahul

관련 문제