>웹 프론트엔드 >JS 튜토리얼 >포인트를 일치시킬 때 내 JavaScript 정규 표현식이 Null을 반환하는 이유는 무엇입니까?

포인트를 일치시킬 때 내 JavaScript 정규 표현식이 Null을 반환하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-09 14:55:12732검색

Why Is My JavaScript Regex Returning Null When Matching Points?

JavaScript Regex가 작동하지 않는 이유

문제:

현재 겪고 있는 문제 JavaScript의 포인트 목록을 일반 포인트와 일치시키려고 하면 null 결과가 발생합니다. 표현식.

정규 표현식:

var reg = new RegExp("/\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g");

해결책:

  • 정규 표현식 사용 리터럴:
var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
  • RegExp 사용 오류:

    • 구분 기호(/)는 일부가 아니어야 합니다.
    • 다음과 같은 경우 백슬래시를 이스케이프해야 합니다. 표현식은 문자열로 정의됩니다.
    • 수정자는 함수의 두 번째 인수로 전달되어야 합니다.

참고:

RegExp를 사용하는 것은 옵션이지만 정규 표현식을 사용하는 것이 더 편리한 경우가 많습니다. 리터럴.

값 추출:

  • .match()는 유용하지 않을 수 있는 문자열 배열을 반환합니다.
  • .exec ()는 전체 문자열이 나올 때까지 계속해서 숫자를 추출하는 데 사용할 수 있습니다. 처리됨:
var result, points = [];
while((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}

이렇게 하면 추출된 숫자가 포함된 배열의 배열이 생성됩니다. 단항 더하기( )는 문자열을 숫자로 변환합니다.

위 내용은 포인트를 일치시킬 때 내 JavaScript 정규 표현식이 Null을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.