자연어로 정규식을 작성하는 방법 답변: 사람들이 정규식 구문을 옹호하는 이유는 무엇입니까?
2328 단어 reacthtmlcssjavascript
정규식은 JavaScript의 가장 강력한 기능이라는 것을 누구나 알고 있지만 동시에 숙련된 개발자에게도 어려움을 줄 수 있습니다. 몇 달 후에 정규식을 읽는 것이 언젠가는 너무 어려워집니다. 오늘 기사에서는 정규식을 자연어로 작성하는 방법을 배웁니다.
슈퍼 표현력
이틀 전에 새로운 판도를 바꾸는 라이브러리가 실현되었습니다. 이것은 거의 자연어로 정규 표현식을 구축할 수 있는 JavaScript 라이브러리입니다. 추가 종속성 없이 가벼운 코드 공간(축소 + gzip으로 3kb 미만!).
먼저 정규식을 위한 새 라이브러리가 필요한 이유입니다. 정규식은 매우 강력하지만 정규식의 구문을 작성하는 것은 너무 복잡하지만 대답은 간단합니다. 대부분의 경우 새 정규식을 만들기 위해 정규식 문서를 다시 읽어야 합니다.
이 라이브러리는 복잡한 구문 문제를 해결합니다. 일반 자연어 단어를 사용하여 정규식을 만듭니다.
설치
다른 npm 패키지와 마찬가지로 npm 또는 yarn을 사용하여 이 라이브러리를 설치할 수 있습니다.
npm i super-expressive --save
용법
이 라이브러리를 사용하려면 먼저 이 라이브러리를 가져와야 합니다.
const SuperExpressive = require('super-expressive');
예시
문자열에서 Mutiple hello를 찾습니다.
SuperExpressive()
.allowMultipleMatches
.string('hello')
.toRegex();
// ->
/hello/g
CaseInsenstive Hello 찾기.
SuperExpressive()
.caseInsensitive
.string('HELLO')
.toRegex();
// ->
/HELLO/i
0xC0D3
와 같은 16비트 16진수 값을 캡처합니다.const SuperExpressive = require('super-expressive');
const myRegex = SuperExpressive()
.startOfInput
.optional.string('0x')
.capture
.exactly(4).anyOf
.range('A', 'F')
.range('a', 'f')
.range('0', '9')
.end()
.end()
.endOfInput
.toRegex();
// Produces the following regular expression:
/^(?:0x)?([A-Fa-f0-9]{4})$/
마찬가지로 이 라이브러리를 사용하여 자연어로 모든 정규식을 만들 수 있습니다. 자연어로 정규식을 작성하는 방법을 배웠기를 바랍니다.
Full docs
How to check an element is in viewport using Intersection Observer API
Reference
이 문제에 관하여(자연어로 정규식을 작성하는 방법 답변: 사람들이 정규식 구문을 옹호하는 이유는 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/narendersaini32/how-to-write-regex-in-natural-language-158j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)