Go에서 정규식 사용하기

咔咔
풀어 주다: 2020-12-01 15:09:29
원래의
1910명이 탐색했습니다.
"

이 글에서는 Go

"

1. 데모 사례

이 경우 상수 텍스트

를 선언한 후 사용합니다. regexp 패키지의 regexp.Compile 메소드가 추가되었습니다.

이 방법은 사용자가 입력한 값이 일치 규칙을 충족하는지 확실하지 않습니다.

물론 결과가 필요한 데이터를 반환하는 것을 볼 수도 있습니다.Go에서 정규식 사용하기

그러나 일반적으로 사용자가 입력한 내용이 정확하고 완전히 일관성이 있다고 확신하는 경우 다음과 같은 경우를 사용할 수 있습니다.

이 경우regexp.MustCompile가 이 메서드를 사용하여 동일한 값을 반환하는 것을 볼 수 있습니다.

Go에서 정규식 사용하기
입력이 완전히 일치한다고 사용자가 확신할 때 사용할 수 있습니다.

이 메서드는 오류를 반환하지 않고 자체 내부 메서드에서 예외를 처리합니다.

댓글에 따르면 이 메소드에서 제공하는 매개변수 표현식을 구문 분석할 수 없으면 예외가 발생한다는 것을 알 수 있습니다.

Go에서 정규식 사용하기
여기에 그림 설명 삽입

2. 정규 매칭

다음으로 매칭을 위해 정규식, 즉 위의 방법에서 정규식 매칭을 사용합니다.

케이스는 위 사진에 사용된 케이스와 동일하며 이메일 주소 매칭에 사용됩니다.

그럼 첫 번째 버전을 먼저 작성해 보겠습니다.

반환된 결과가 우리가 원하는 결과임을 알 수 있습니다.

정규식 작성 방법에 대한 이 부분은 주로 Go에서 정규식을 사용하는 방법에 대해 설명합니다.

Go에서 정규식 사용하기
정규식 첫 번째 버전 사용하기

이때 첫 번째 문제가 반영되는데,FindString이 메소드는 하나의 값만 일치시킬 수 있습니다.FindString这个方法只能匹配一个值。

Go에서 정규식 사용하기
反映出的第一个问题

那如何匹配多个值呢!请看下方案例

三、匹配多个值

可以看到返回结果是将所有可以匹配的邮箱都给匹配了出来。

匹配多个值需要使用FindAllString

Go에서 정규식 사용하기반영하세요 첫 번째 질문여러 값을 일치시키는 방법! 아래 사례를 참고해주세요 3. 여러 값 일치 반환된 결과는 일치하는 모든 이메일 주소가 일치하는 것을 확인할 수 있습니다. 여러 값을 일치시키려면 FindAllString 이 방법입니다.

첫 번째 매개변수는 일치하는 문자이고, 두 번째 매개변수는 검색할 개수이며, -1은 모두 찾는 것입니다.

Go에서 정규식 사용하기
여러 값을 일치시키는 데모 사례

는 아주 좋은 방법을 제공합니다 직접 할 수 있습니다 이메일 이름, 이메일 도메인 이름, 이메일 접미사를 추출하려면 어떻게 해야 할까요?

4. 정규식 추출 내용

여기서는 위의 경우의 방법을 계속 사용할 수 없습니다. 여기서는 FindAllStringSubmatch이 방법

Go에서 정규식 사용하기
정규식 추출 내용

을 사용해야 합니다. this method 반환된 내용이 2차원 문자열임을 알 수 있으며, 위 그림의 반환 결과를 통해 반환된 내용이 2차원 문자열임을 알 수 있습니다.

Go에서 정규식 사용하기
반환된 결과 보기

2차원 문자열 조각이 반환되므로 루프를 통해 추출된 각 콘텐츠를 얻을 수 있습니다.

4개의 일치 항목이 반환된 것을 볼 수 있으며, 첫 번째 일치는 완료되었으며 다음 세 개는 우리가 얻은 콘텐츠입니다.

Go에서 정규식 사용하기
각 슬라이스 반환

5. 요약

위의 4가지 경우를 통해 Go에서 정규식을 어떻게 사용하는지, 여러 시나리오를 시뮬레이션하고, Go에서 정규식 패키지의 사용법을 간략하게 알아보겠습니다. .

이 경우는 Go에 대한 연습이라고 볼 수도 있습니다. 깊이 있는 내용은 많지 않습니다. 주로 일반 패키지 사용에 관한 것입니다. 가장 중요한 것은 이러한 종류의 정규식 추출입니다. 크롤러 프로젝트에서 매우 일반적입니다.

배움에 대한 끈기, 블로깅에 대한 끈기, 공유에 대한 끈기는 카카가 경력 이후부터 지켜온 신념입니다. 거대한 인터넷에 올라온 카카의 글이 여러분에게 조금이나마 도움이 되기를 바랍니다. 카카, 다음호에서 만나요 .

추천: "golang tutorial"

위 내용은 Go에서 정규식 사용하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
go
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!