에 대한 정규식 표현식을 사용하고 있습니다..match
AJAX/xml
으로 빌드 된 어레이를 사용하고 싶습니다.
array[/word0/, /word1/, /word2/]
및 .match()
에서 사용될 수있는 형태로이 입력 :
result = string.match(array)
I는 루프를 사용하고 소용 string.match(array[i])
를 사용하여 어레이를 단계별 시도했다.
쉬운 방법이 있나요?
에 대한 정규식 표현식을 사용하고 있습니다..match
AJAX/xml
으로 빌드 된 어레이를 사용하고 싶습니다.
array[/word0/, /word1/, /word2/]
및 .match()
에서 사용될 수있는 형태로이 입력 :
result = string.match(array)
I는 루프를 사용하고 소용 string.match(array[i])
를 사용하여 어레이를 단계별 시도했다.
쉬운 방법이 있나요?
편집 : 여기 내 구현의 당신은 구문에 문제가있을 수 있습니다. 이 같은
array[/word0/, /word1/, /word2/]
뭔가를 해결합니다 :
var regexps = [/word0/, /word1/, /word2/];
원래 답 :
자바 스크립트 RegExp
의 이미 이렇게 다음은 올바른 구문이 아닙니다.
var regexp = /word0|word1|word2/;
일치의 목록이 다시 올바른 형식으로되어 가정, 당신과 같이이를 수있다 : 당신이 찾고있는
var words = ["word0", "word1", "word2"];
var regexp = new Regexp(words.join("|"));
str.match(regexp);
고마워요. 나는 실제로 구문 문제가 생겼다. 원래 배열에 대한 액세스를 차단했습니다. 몇 시간이 걸렸지 만 그것을 추적하는 데 도움이되었습니다. 또한 제안에 대한 다른 사람들에게 감사드립니다. 건배 – Hewhoshallnotbenamed
배열을 초기화하려면, 다음 일반을 구축해야 문제가 "AJAX/XML"의 전송이 경우
str.match(array[i])
을 사용할 수 있습니다 그리고
var array = [/word0/, /word1/, /word2/];
를 사용 표현식 클라이언트 쪽이
new RegExp(somestring)
이고
somestring
이 예를 들어
"word0"
일 수 있습니다.
정규 표현식을 XML에 포함 할 수 없습니다.
미안하지만 나는 더 정확해야했다. 방금 요약 된 코드를 제공했습니다. – Hewhoshallnotbenamed
귀하의 접근 방식은 괜찮았다.
var regexes = [/^def/, /^abc/],
testString = 'abcdef',
numRegexes = regexes.length;
for(var x=0;x<numRegexes;x++) {
alert(regexes[x].test(testString));
}
'경우 String.match을 (/ word0 | 단어 1 | word2 /)' – elclanrs
오류가 무엇입니까? 나는 당신이 "쓸데없는"것보다 설명력이 있어야한다고 생각합니다. 당신이하고 있던 일은 유효한 해결책입니다. 그래서 제 생각에 당신의 문제는 다른 곳에 있습니다. (더 구체적인 추측을 위해 제 대답을보십시오). – benekastah
실제로 오류가 발생하지는 않습니다. 귀하의 예제를 사용하는 원칙을 이해하지만, 배열의 내용을 덤프 할 경우 .join 전에 "word1", "word2", "word3"을 얻습니다. .join 후 나는 이것을 얻는다 : /(? :)/ – Hewhoshallnotbenamed