내가 가지고 RegExp
:자바 스크립트 정규식 매칭 불확실성
/.?(NCAA|Division|I|Basketball|Champions,|1939-2011).?/gi
하고 일부는 어떻게 든 "Champion"
,이 일치으로 돌아오고, 내가 미쳤다고 생각 텍스트?
0: "pio"
1: "i"
index: 4
input: "Champion"
length: 2
루프
은 여기에 있습니다 :// contruct the pattern, dynamically
var someText = "Champion";
var phrase = ".?(NCAA|Division|I|Basketball|Champions,|1939-2011).?";
var pat = new RegExp(phrase, "gi"); // <- ends up being
var result;
while(result = pat.exec(someText)) {
// do stuff!
}
바로, 내 정규식에 문제가있을가?
EDIT : .?
이 단어 중 하나와 일치하거나 그 단어 중 하나를 하나의 문자와 일치시키고 싶다고 말하면 빠르고 간단합니다. 예 :
\sNCAA\s
NCAA
NCAA\s
\sNCAA
목표 : 나는 몇 가지 간단한 타격을 할 노력하고있어 가 일부 검색 단어를 기반으로 하이라이팅. 페이지의 텍스트 노드를 모두 가져 오는 함수가 있는데,이 변수를 모두 통과하여 변수 phrase
에있는 키워드와 일치하는 항목을 강조 표시하고 싶습니다.
내 RegExp을 구축하는 방법을 다시 고쳐야한다고 생각합니다.
'pat'은 RexExp 개체 또는 문자열입니까? 코드에서 문자열입니다. –
@Matt 그것은 실제로 RegExp입니다. 코드를 수정하도록하겠습니다 ... 나는 두 가지 방법으로 모두 작동한다고 생각 했습니까? – samandmoore
당신은 실제로 당신이 원하는 일이나 여기에서 일어날 일을 명시하지 않았습니다. 이제는 그렇게 명확하지 않습니다. – Groovetrain