"This is the best moth".match(/\bth/gi);
또는 변수 는 단어 경계가 너무 \bth
만 th
일치하는 것이다 그 단어의 시작 부분에.
gi
(나는이 일치하지 않는 것을 확인하는 알림에 거기에
moth
을 던졌다)
를 구분 글로벌 경기 (모든 항목을 찾아)와 케이스
jsFiddle example
입니다
편집 :
따라서는 A bove는 일치하는 부분 만 반환합니다 (th
). 전체 단어를 반환하려면 단어 전체를 일치시켜야합니다.
이것은 까다로운 일입니다. 먼저 어떤 HTML 엔티티 문자 :
string.match(/\bth[^\b]*?\b/gi);
Example
전체 단어가 단어 경계 \b
잡아에서 이동 일치 시키려면 다른 단어 경계 \b
에 도달 할 때까지 비 단어 경계 [^\b]
다음에 th
. *
은 이전 (0 단어 경계가 아닌) 0 개 이상을 찾고 싶다는 의미는 ?
기호는 게으른 일치임을 나타냅니다. 다른 말로는 가능한 한 커지는 않지만 첫 기회에 멈추는 것입니다.
ä (ä
)과 같은 HTML 엔티티 문자가있는 경우 작업이 매우 복잡해지고 공백 또는 공백과 단어 경계에있을 수있는 정의 된 문자 집합을 사용해야합니다.
string.match(/\sth[^\s]*|^th[^\s]*/gi);
Example with HTML entities.
우리가 단어 경계를 사용하지 않는 때문에
, 우리는 따로 문자열의 시작 (
|^
)을 돌봐해야합니다.
위의 내용은 단어 시작 부분의 공백을 캡처합니다. \b
을 사용하면 공백을 캡처하지 않습니다. \b
에는 너비가 없기 때문입니다.
+1 나를 소개해 주셔서 감사합니다 \ b :) –
@Michael - YW! 이것은 정규 표현식에 대한 훌륭한 참고서입니다. - http://www.regular-expressions.info/reference.html –
이것은 훌륭한 것들입니다. 예를 들어 내 문자열이 "Männ"이고 "n"을 검색하면 M 다음에 n과 일치합니다 ... 어떤 아이디어입니까? – Abadaba