이 게시물은 2019-6-18 21:39에 Kongcicada가 마지막으로 편집했습니다.
머리말 프로젝트 내에서 데이터 매칭, 규칙 자격 확인, 크롤러 분석 데이터를 수행할 때는 정규 표현식을 사용할 것입니다. 다음은 규칙성에 대한 기본 지식을 요약한 내용으로, 모두 초기 시절의 학습 노트입니다.
문자 메시지
#정규 표현식 기본
. \n 이외의 모든 단일 문자를 나타냅니다
[ ] 캐릭터 필터링
[^] non과 동등하다
| 또는
() 작전의 우선순위를 변경하세요.
* 수식자는 이전 식이 0번 이상 등장함을 나타냅니다.
+ 수식어는 앞서 나오는 표현이 1번 이상 등장해야 함을 나타냅니다. 적어도 한 번은 나타야 합니다.
? 이 조건들은 앞선 표현이 0 또는 1번 반드시 등장해야 함을 나타냅니다.
{n} 수식을 수정하는 수식은 반드시 n번 등장해야 합니다.
{n,} 수식을 포함하여, 앞서 언급한 식이 최소 n번 이상 등장하도록 제한합니다.
{n,m} 수식을 포함하는데, 이는 앞선 식이 최소 n번, 최대 m번에 등장하도록 자격을 준다.
^ $는 문자열의 시작과 끝입니다
\d는 [0-9]와 동치입니다.
\D는 [^0-9]와 동등하다.
\s는 보이지 않는 모든 공백 문자를 나타냅니다
\S는 \s를 제외한 모든 문자입니다.
\w 표시: [0-9a-zA-Z_]
\w는 \w를 제외한 모든 다른 캐릭터들입니다.
\b 는 단어의 경계를 나타냅니다. (주장, 심사위원만, 불일치) )
=================================================
. \n 이외의 모든 단일 문자를 나타냅니다
A.B
a,b
=========================================
[ ] 캐릭터 필터링
a[0-9]b
a[a-z]b
a[0-9a-zA-Z]b
A1B
AXB
aAb
a[^0-9]b 는 0123456789 이외의 어떤 문자만 A와 B 사이에 나타날 수 있음을 의미합니다.
a[^0-9a-z]b
=====================================================
| 또는
Z|음식 due to| 우선순위가 매우 낮기 때문에 이 식은 Z나 음식과 일치할 수 있습니다. 이 식은 ZooD와 일치하지 않습니다.
(z|f)ood는 'zood' 또는 음식을 의미합니다
===========================================
() 작전의 우선순위를 변경하세요.
추출 그룹.
=======================================
* 수식자는 이전 식이 0번 이상 등장함을 나타냅니다.
Zoo*는 조 주우우우우우
(zoo)*는 zoozoo를 의미합니다.......
a.*b 는 AB AADDDDB AFJDSKLF%$#@dsklfjdsklfjdsklfjb
================================================
+ 수식어는 앞서 나오는 표현이 1번 이상 등장해야 함을 나타냅니다. 적어도 한 번은 나타야 합니다.
a.+b
a9dfjsakl3824urnj324239feb
==================================================
? 이 조건들은 앞선 표현이 0 또는 1번 반드시 등장해야 함을 나타냅니다.
a.? b
AB
AXB
? 또 다른 기능은 '탐욕 모드를 끝내는' 것입니다. 정규 표현식은 기본적으로 탐욕 모드로 전환됩니다.
======================================================================
a[0-9]+b
a0b
a00b
A09B
a99999999999999999999b
========================== 다른 예선 =====================
{n} 수식을 수정하는 수식은 반드시 n번 등장해야 합니다.
a[0-9]{10}b
a1234567899b
======================
{n,} 수식을 포함하여, 앞서 언급한 식이 최소 n번 이상 등장하도록 제한합니다.
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsfdsfdsfdsa2
========================================
{n,m} 수식을 포함하는데, 이는 앞선 식이 최소 n번, 최대 m번에 등장하도록 자격을 준다.
a[0-9]{3,7}b
a0000000b
===========================================
^는 문자열의 시작 지점을 나타냅니다.
$는 문자열의 끝을 나타냅니다.
^ 와 $는 문자열의 두 특징을 나타냅니다. 하나는 시작을 나타내고 다른 하나는 끝을 나타냅니다
^abc.*xyz$ ^abc122345xyz$
^abcdefg$ ^abcdefg
FDSFDSFXYZ xyz$
===========================================
a[0-9]b
a\db
\d[0-9]
디지털
\D [^0-9]
\s는 그 모든 여백, 보이지 않는 문자들을 나타냅니다
a\s*b
AB
a
b
\S는 \s를 제외한 모든 문자입니다.
=================================================
\w [0-9a-zA-Z_]
단어는 단어 캐릭터를 의미합니다.
\w는 \w를 제외한 모든 다른 캐릭터들입니다.
\b 는 단어의 경계를 나타냅니다. (주장, 심사위원만, 불일치) )
============================================
.
다음 방법들은 복근 사이에 어떤 문자가 나타나는지를 나타낼 수 있습니다.
a[\s\S]b
a[\d\D]b
a[\w\W]b
#실제 전투
1: 새로운 콘솔 애플리케이션 생성
2: 다음 코드를 붙여넣으면 모듈별로 테스트할 수 있습니다
에필로그
정규 표현식 온라인 검사 하이퍼링크 로그인이 보입니다.
|