정수로 만들려면 문자열에서 영숫자와 영숫자가 아닌 문자를 필터링해야합니다.정규 표현식 - 알파벳 문자 및 비영 숫자 문자 필터링
정규 표현식 문자열
\w
및
\w*
의 차이점은 무엇입니까?
정수로 만들려면 문자열에서 영숫자와 영숫자가 아닌 문자를 필터링해야합니다.정규 표현식 - 알파벳 문자 및 비영 숫자 문자 필터링
정규 표현식 문자열
\w
및
\w*
의 차이점은 무엇입니까?
\w
코드는 [0-9A-Za-z_]
과 같은 단일 영숫자 문자와 일치합니다.
한정자는 {0,}
한정 기호와 동일하므로 0 번 이상 반복합니다.
한정 기호 뒤에 물음표를 넣으면 게으르다. 즉 가능한 한 많은 문자 대신 가능한 한 적은 문자와 일치합니다.
따라서 \w*?
은 0 개 이상의 영숫자와 느리게 일치합니다.
숫자가 될 수없는 문자를 필터링하려면 음수 세트를 사용하지 않는 이유는 무엇입니까? 이는 빼기 부호 또는 숫자가 아닌 문자와 일치합니다 :
[^\-\d]
\w
은 ([A-ZA-Z0-9_] 줄임말) 밑줄을 포함하는 임의의 영숫자 문자 (문자 워드) 일치한다.
[A-Za-z0-9_]와 동일합니다.
예를 들어/\ w는 "apple"의 'a', '$ 5.28'의 '5'및 '3D'의 '3'과 일치합니다.
*
반복 이전 항목을 0 번 이상. 욕심이 많으므로 가능한 한 많은 항목이 이전 항목의 일치가 적은 순열을 시도하기 전에 일치해야합니다 (이전 항목이 전혀 일치하지 않는 지점까지).
OP가 '?'을 사용하고 있다고 생각합니다. 정규 표현식의 일부가 아닌 물음표로 사용되었습니다. 내 편집을 참조하십시오. –