> 웹 프론트엔드 > JS 튜토리얼 > 내 JavaScript 정규 표현식이 문자열에서 좌표를 추출하지 못하는 이유는 무엇입니까?

내 JavaScript 정규 표현식이 문자열에서 좌표를 추출하지 못하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-21 17:46:16
원래의
247명이 탐색했습니다.

Why Is My JavaScript Regex Failing to Extract Coordinates from a String?

이 JavaScript 정규식이 작동하지 않는 이유는 무엇입니까?

정규 표현식을 사용하여 문자열에서 점을 추출하려고 시도하는 중 사용자에게 null이 발생했습니다. 결과. 제공된 정규식 "(s([0-9.-] )s,s([0-9.-] )s*)"는 괄호로 묶이고 쉼표로 구분된 점과 일치합니다. 그러나 "(25.774252, -80.190262),(18.466465, -66.118292),(32.321384, -64.75737),(25.774252, -80.190262)"와 같은 문자열에 적용하면 실패합니다.

해결 방법

근본 원인은 RegExp 생성자를 잘못 사용하는 것입니다. 더 편리하고 오류가 덜 발생하는 정규식 리터럴을 사용하려면 "new RegExp"를 "/"로 바꾸십시오. 또한 수정자는 두 번째 인수로 전달됩니다.

var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
로그인 후 복사

출력에 대한 참고 사항

match()는 일치하는 문자열의 배열을 반환합니다. 이는 유용하지 않을 수 있습니다. 숫자 값을 추출합니다. 대신, exec()를 사용하여 개별 일치 항목을 추출해야 합니다.

var result, points = [];

while ((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}
로그인 후 복사

이렇게 하면 좌표를 숫자로 포함하는 배열이 생성됩니다. 또는 문자열을 선호하는 경우 단항 더하기( )를 생략하세요.

위 내용은 내 JavaScript 정규 표현식이 문자열에서 좌표를 추출하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿