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

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으로 문의하세요.
Python vs. JavaScript : 작업에 적합한 도구 선택Python vs. JavaScript : 작업에 적합한 도구 선택May 08, 2025 am 12:10 AM

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬 및 자바 스크립트 : 각각의 강점을 이해합니다파이썬 및 자바 스크립트 : 각각의 강점을 이해합니다May 06, 2025 am 12:15 AM

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

JavaScript의 핵심 : C 또는 C에 구축 되었습니까?JavaScript의 핵심 : C 또는 C에 구축 되었습니까?May 05, 2025 am 12:07 AM

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript 응용 프로그램 : 프론트 엔드에서 백엔드까지JavaScript 응용 프로그램 : 프론트 엔드에서 백엔드까지May 04, 2025 am 12:12 AM

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python vs. JavaScript : 어떤 언어를 배워야합니까?Python vs. JavaScript : 어떤 언어를 배워야합니까?May 03, 2025 am 12:10 AM

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.

JavaScript 프레임 워크 : 현대적인 웹 개발 파워JavaScript 프레임 워크 : 현대적인 웹 개발 파워May 02, 2025 am 12:04 AM

JavaScript 프레임 워크의 힘은 개발 단순화, 사용자 경험 및 응용 프로그램 성능을 향상시키는 데 있습니다. 프레임 워크를 선택할 때 : 1. 프로젝트 규모와 복잡성, 2. 팀 경험, 3. 생태계 및 커뮤니티 지원.

JavaScript, C 및 브라우저의 관계JavaScript, C 및 브라우저의 관계May 01, 2025 am 12:06 AM

서론 나는 당신이 이상하다는 것을 알고 있습니다. JavaScript, C 및 Browser는 정확히 무엇을해야합니까? 그들은 관련이없는 것처럼 보이지만 실제로는 현대 웹 개발에서 매우 중요한 역할을합니다. 오늘 우리는이 세 가지 사이의 밀접한 관계에 대해 논의 할 것입니다. 이 기사를 통해 브라우저에서 JavaScript가 어떻게 실행되는지, 브라우저 엔진의 C 역할 및 웹 페이지의 렌더링 및 상호 작용을 유도하기 위해 함께 작동하는 방법을 알게됩니다. 우리는 모두 JavaScript와 브라우저의 관계를 알고 있습니다. JavaScript는 프론트 엔드 개발의 핵심 언어입니다. 브라우저에서 직접 실행되므로 웹 페이지를 생생하고 흥미롭게 만듭니다. 왜 Javascr

Node.js는 TypeScript가있는 스트림입니다Node.js는 TypeScript가있는 스트림입니다Apr 30, 2025 am 08:22 AM

Node.js는 크림 덕분에 효율적인 I/O에서 탁월합니다. 스트림은 메모리 오버로드를 피하고 큰 파일, 네트워크 작업 및 실시간 애플리케이션을위한 메모리 과부하를 피하기 위해 데이터를 점차적으로 처리합니다. 스트림을 TypeScript의 유형 안전과 결합하면 Powe가 생성됩니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기