VerbalExpressions - RegularExpression이 쉬워졌습니다.
string operations
입니다. Fox 예제: 전체 이름에서 이름 가져오기, 메시지에서 모든 휴대폰 번호 찾기 및 검열,...작업을 진행하면서 일반적으로 몇 가지 일반적인 절차를 처리해야 합니다. 반복되는 절차 중 하나는 하위 문자열을 찾고 하위 문자열에 대한 일부 작업을 구현하는 것입니다. 학습 경로의 맨 처음에 이와 같은 작업을 수행했을 수 있습니다.
int checkMatchStubPattern(char* string) {
for(int i = 0; i < strlen(string); i++) {
// logic for checking string pattern
...
}
return ...
}
잘못된 방법은 아니지만 시간이 많이 걸립니다. 모든 경우에 검사 로직을 변경해야 합니다. 더 많은 코드, 더 많은 버그, 물론 유지 관리가 어렵습니다. 운 좋게도
Regular Expression - Regex
는 이러한 종류의 문제를 해결하는 영웅으로 등장합니다. 찾기, 입력 유효성 검사... Regex
사용에 대한 확인으로 모든 프로그래밍 언어는 문자열 작업에 대해 Regex
를 지원합니다.Regular expression is a sequence of characters that define a search pattern. This pattern is then used by string searching algorithms for "find" or "find and replace" operations on strings, or for input validation. (Source: Wikipedia)
Regex
는 이 문제를 해결하는 효율적인 도구입니다. 그러나 대가가 따릅니다. 읽고 이해하기가 정말 어렵습니다(하지만 배우기는 어렵지 않습니다). 먼저 아래 예제를 읽어보십시오.구문이 복잡하기 때문에 읽고 이해하기가 매우 어렵습니다
Regex
. 게다가 당신은 Regex
와 너무 자주 일하지 않는 것 같습니다. ROI(투자 수익률)가 너무 낮습니다. 당신이 사용해야 하는 거의 일반적인 Regex
인터넷에서 찾을 수 있습니다 (비밀번호, URL, IP 주소,...). 1년에 4~5회만 사용하는 것을 배우기 위해 몇 주를 보낼 의향이 있습니까? 아니면 약 5분 안에 결과를 얻기 위해 일부 사이트를 훑어보는 것입니까? 이러한 사고 방식으로 인해 개발자는 Google에서 일부Regex
를 검색하고 필요에 맞게 수정합니다. 때로는 검색-수정의 반복 프로세스에 몇 시간에서 하루 종일 걸릴 수 있습니다.Regex
string operation
문제를 해결하고; 그러나 Regex
의 문제는 어떻습니까? 다행히 Verbal Expressions
으로 해결할 수 있습니다. 이 예를 살펴보십시오.VerEx()
.startOfLine()
.then('http')
.maybe('s')
.then('://')
.anythingBut(' ')
.endOfLine();
이 예제를 읽은 후 좌절하지 않기를 바랍니다. 위의
Verbal Expressions
는 다음 규칙에 따라 정의됩니다.위의 코드에서 생성된
Regex
는 /^(?:http)(?:s)?(?:\:\/\/)(?:[^ ]*)$/
입니다. 약간 다르지만 기능은 동일합니다. 여러 언어here에서 Verbal Expressions
의 구현을 찾을 수 있습니다.VerbalExpressions는
Regex
의 가장 큰 문제를 해결합니다. 읽기 쉽고 이해하기 쉬운 정규식입니다. 제 생각에는 Regex
에서 VerbalExpressions
로의 전환은 SQL
에서 ORM
로의 이동만큼 큽니다.어쨌든
VerbalExpressions
에는 여전히 몇 가지 단점이 있습니다. 프로젝트에 새 라이브러리를 설치해야 하는데 때로는 매우 고통스럽습니다(예: 클라이언트, 관리자... 필요하다고 생각하지 않음). 이 경우 VerbalRegex으로 이동할 수 있습니다. 코드를 작성하면 Regex
가 생성됩니다.verbalregex.com에 액세스하여 이 도구를 사용해 보십시오.
결론
VerbalExpressions
는 Regex
를 대체하지 않습니다. 그러나 읽기 쉬운 쓰기 방법Regex
. Regex
의 고통을 덜어주고 실제로 표현을 다시 재미있게 만들 수 있습니다. 그러나 일부 복잡한 경우에는 여전히 Regex
가 최선의 선택인 것 같습니다.
Reference
이 문제에 관하여(VerbalExpressions - RegularExpression이 쉬워졌습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bachnxhedspi/verbalexpressions---regularexpression-made-easy-27a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)