> 웹 프론트엔드 > JS 튜토리얼 > 정규 표현의 대안 : APG-EXP

정규 표현의 대안 : APG-EXP

William Shakespeare
풀어 주다: 2025-02-17 11:25:18
원래의
1028명이 탐색했습니다.

An Alternative to Regular Expressions: apg-exp 이 기사는 Sebastian Seitz와 Almir Bijedic에 의해 동료 검토되었습니다. Sitepoint 컨텐츠를 최대한 활용 한 Sitepoint의 모든 동료 검토 자에게 감사합니다! 거의 모든 프로그래머는 때때로 어떤 형태로 정기적 인 표현식을 사용해야합니다. 많은 사람들에게 패턴 문법은 신비 롭고 어려워 보일 수 있습니다. 이 튜토리얼은 ABNF Pattern Syntax를 사용하고 읽기가 더 쉬운 REGEXP의 기능이 풍부한 대안 인 새로운 패턴 매칭 엔진 APG-EXP를 소개합니다.

키 포인트

APG-EXP는 ABNF 구문을 사용하여 일반 표현식에 대한 사용자 친화적 인 대안을 제공합니다.

APG-EXP는 설치 및 사용이 매우 간단하며 Node.js 환경 및 GitHub 직접 다운로드 옵션을 지원하여 다양한 프로젝트 설정에 액세스 할 수 있습니다.

APG-EXP에서 사용하는 ABNF 구문은 복잡한 패턴을 더 간단하고 읽기 쉬운 구성 요소로 나누며, 이는 일반적으로 신비한 정규 표현보다 직관적입니다.

APG-EXP는 재귀와 같이 javaScript에서 regexp에서 사용할 수없는 고급 패턴 매칭 기능을 지원하며, 이는 중첩 패턴과 일치하는 데 중요합니다.

이 라이브러리는 개발자가 패턴 매칭 로직의 문제를 효과적으로 식별하고 해결할 수 있도록 자세한 오류 처리 및 디버깅 도구를 제공합니다. 강력한 기능에도 불구하고 APG-EXP는 여전히 간단한 API를 유지하므로 기존 코드베이스에 대한 많은 수정이 필요없이 통합 및 사용할 수 있습니다.

빠른 비교
    이메일 주소를 확인하고 이와 같은 것을 만난 적이 있습니까?
  • 패턴 일치 엔진은이 작업에 적합한 도구입니다. 이것은 잘 설계되고 잘 쓰여진 정규 표현입니다. 잘 작동합니다. 그래서 당신은 또 무엇을 좋아하지 않습니까?
  • 글쎄, 당신이 정규 표현의 전문가라면 아무것도 없습니다. 그러나 우리의 나머지 사람들에게는
  • 일 수 있습니다.
  • 읽기가 어렵습니다 쓰기가 더 어렵습니다 유지하기가 어렵습니다
  • 정규 표현 문법은 길고 긴 역사를 가지고 있으며 매일 프로그래머로 사용하는 많은 도구와 언어에 깊이 통합되었습니다.
  • 그러나 거의 같은 시간 동안 대체 구문이 있는데, 이는 인터넷 기술 사양의 작가와 소비자들 사이에서 정규 표현의 모든 기능을 가지고 있지만 JavaScript 프로그래밍 세계 사용에는 거의 없습니다. . 즉, RFC 5234 및 RFC 7405의 IETF에 의해 공식적으로 정의 된 향상된 Bacos-Nor 패러다임 (ABNF)입니다.
  • ABNF에서 동일한 이메일 주소가 어떻게 보이는지 봅시다.
  • 물론 는 컴팩트하지 않지만 HTML 및 XML과 마찬가지로 인간과 기계가 읽도록 설계되었습니다. 나는 와일드 카드 검색 패턴에 대한 약간의 이해 만하면 "간단한 영어"에서 일어나는 일을 거의 읽을 수 있습니다.
    • 전자 메일 주소는 @
    • 로 분리 된 로컬 부품 및 도메인으로 정의됩니다. 로컬 부분은 단어와 선택적 점 분리 된 단어 가 이어집니다. 도메인은 하나 이상의 점 분리 된 서브 도메인과 단일 최상위 도메인 입니다. 당신이 여기서 알지 못하는 유일한 것은 다음과 같습니다. 와일드 카드 문자
    • 가 "0 이상"을 의미하는 것처럼, 1
    • 는 "하나 이상"을 의미하는 반면, 2*6은 최소 2 배, 최대 6 회 반복을 의미합니다. / 별도의 대안
    • %d는 소수점 문자 코드와 문자 코드 범위를 정의합니다
    • 예를 들어 �5는 #, ASCII DECIMAL 35 �5-90은 A-Z 범위의 모든 문자를 의미합니다.
      • regexp 및 apg-exp 의이 이메일 주소는 예 1에서 비교됩니다. APG-EXP는 regexp의 모양과 느낌을 갖도록 설계된 패턴 일치 엔진이지만 패턴 정의에는 ABNF 구문을 사용합니다. 다음 몇 가지 섹션에서는 다음을 안내하겠습니다 :
      • apg-exp를 응용 프로그램에 통합하는 방법 abnf 구문 에 대한 간단한 안내서 apg-exp 사용-일부 예제 다음에 갈 곳 - 자세한 내용, 고급 예
      • 업로드 및 런 호우를 얻으려면
      • npm
      • node.js 환경에서 작업하는 경우 프로젝트 디렉토리에서 실행됩니다 :
      • 그런 다음 require ()를 사용하여 코드에서 액세스 할 수 있습니다.
    • 예 :
    github

    github에서 코드 사본을 얻으려면 리포지토리를 프로젝트 디렉토리로 복제 할 수 있습니다.

    또는 zip 파일로 다운로드하십시오.

    그런 다음 page.html : 에서

      cdn RawGit을 사용하여 GitHub 소스 코드에서 직접 CDN 버전을 생성 할 수도 있습니다. 그러나 가동 시간이나 지원 보증을 읽지 마십시오 (실제로 전체 FAQ를 읽으십시오).
    • 이 튜토리얼의 모든 예제는 다음을 사용합니다.
    • 이 파일은 MaxCDN 서버에 캐시되어 사용 가능한 한 오랫동안 테스트 할 수 있습니다. 그러나 생산 환경의 경우 Apgexp-Min.js 및 Apgexp.css 사본을 자신의 서버에 배치하여 응용 프로그램에 가장 좋은 방법에 따라 액세스하고 페이지에 포함시켜야합니다.
    • (기사의 길이로 인해 다음 내용이 잘 렸습니다. 계속 처리를위한 후속 부분을 제공하십시오) .

위 내용은 정규 표현의 대안 : APG-EXP의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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