자바 스크립트의 경우 대괄호에서 정규 표현식을 사용하여 콘텐츠를 추출하는 방법은 무엇입니까? 예 :정규식을 사용하여 대괄호에서 콘텐츠를 가져 오는 방법은 무엇입니까?
var str ='1.2.3.4 - - [01/Dec/2011:11:14:42 -0800]'
var result = str.match('\[.?*\]');
입력 '\[.?*\]'
가 \ [ \ ]
감사와 심지어 나를 위해 작동하지 않습니다!
자바 스크립트의 경우 대괄호에서 정규 표현식을 사용하여 콘텐츠를 추출하는 방법은 무엇입니까? 예 :정규식을 사용하여 대괄호에서 콘텐츠를 가져 오는 방법은 무엇입니까?
var str ='1.2.3.4 - - [01/Dec/2011:11:14:42 -0800]'
var result = str.match('\[.?*\]');
입력 '\[.?*\]'
가 \ [ \ ]
감사와 심지어 나를 위해 작동하지 않습니다!
이보십시오. 이러한 유형의 추출을 수행 할 때는 lazy quantifier을 사용하십시오. 당신이 브래킷 두 세트했다 그렇지 않은 경우 :
[asdfjhasdf][asdfafas]
당신은 마지막 ]
\[(.*)\]
이 좋은 작품, \
후 [
예를 들어 전에 사용 공간을 해달라고. \ [
이렇게하면 작동하지 않을 수 있습니다.
var myregexp = /\[(.*?)\]/;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1];
}
이 []
의 내용은 역 참조 $1
에 의해 캡처됩니다
두 문제를 처음 [
에서 그들 중 하나를 얻을 것입니다. 먼저 //
에 정규식을 래핑해야합니다. 둘째, 그걸 ?
으로 옮기세요.
var result = str.match(/\[.*?\]/);
고마워요. 이것은 확실히 작동합니다! – sammiwei
@sammiwei 오신 것을 환영합니다. – FailedDev