웹 프론트엔드 JS 튜토리얼 정규식을 활용한 단일 문자 매칭 상세 분석

정규식을 활용한 단일 문자 매칭 상세 분석

Mar 30, 2018 am 10:09 AM
성격 상세한

이번에는 정규식을 사용하여 단일 문자를 일치시키는 방법에 대한 자세한 분석을 가져오겠습니다. 정규식을 사용하여 단일 문자를 일치시킬 때 주의사항은 무엇인가요?

이 문서의 예에서는 단일 문자 일치에 대한 정규 표현식자습서를 설명합니다. 다음과 같이 참조용으로 모든 사람과 공유하세요.

참고: 모든 예제에서 정규식 일치 결과는 소스 텍스트의 [] 사이에 포함됩니다. 일부 예제는 Java를 사용하여 구현됩니다. Java 자체에서 정규식을 사용하는 방법에 대해서는 해당 부분에서 설명하겠습니다. 모든 Java 예제는 JDK1.6.0_13에서 테스트되었습니다.

java 테스트 코드:

/**
 * 根据正则表达式和要匹配的源文本,输出匹配结果
 * @param regex 正则表达式
 * @param sourceText 要匹配的源文本
 */
public static void matchAndPrint(String regex, String sourceText){
  Pattern pattern = Pattern.compile(regex);
  Matcher matcher = pattern.matcher(sourceText);
  while(matcher.find()){
    System.out.println(matcher.group());
  }
}
로그인 후 복사

1. 일반 텍스트 일치

1. 일치하는 결과는 하나만 있습니다.

먼저 오늘은 간단한 정규 표현식을 살펴보겠습니다. 텍스트이지만 정규식입니다. 예를 살펴보겠습니다.

원문: 어제는 역사이고 내일은 미스터리지만 오늘은 선물입니다.

정규식: today

결과: 어제는 역사이고 내일은 미스터리입니다. [오늘]은 선물입니다.

분석: 여기에 사용된 정규식은 일반 텍스트이며 소스 텍스트에서 today와 일치합니다.

matchAndPrint 메소드를 호출하면 출력 결과는 다음과 같습니다.

today

2. 일치하는 결과가 여러 개 있습니다.

원본 텍스트: 어제는 역사이고 내일은 미스터리지만 오늘은 선물입니다.

정규식: is

결과: 어제는 역사이고 내일은 미스터리지만 [오늘]은 선물입니다.

분석: 원문에는 is가 3개 있는데 is가 4개입니다. 출력, 기록에 있는 항목도 일치하기 때문입니다.

matchAndPrint 메소드를 호출하면 출력 결과는 다음과 같습니다.

is

is

is

is

3. 정규식은 구별을 위한 것입니다. 문자 대소문자를 구분하지 않지만 많은 정규식 구현에서는 대소문자를 구분하지 않는 일치 작업도 지원합니다.

JavaScript

에서는 i 플래그를 사용하여 대소문자를 구분하지 않는 일치를 수행합니다. Java에서 대소문자를 구분하지 않으려면 정규식을 컴파일할 때 다음을 지정할 수 있습니다.

Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
로그인 후 복사

2. 모든 문자와 일치

앞서 본 정규식은 모두 정적 일반 텍스트입니다. 정규식의 힘을 반영하지 않습니다. 다음으로 정규식을 사용하여 예측할 수 없는 문자를 일치시키는 방법을 살펴보겠습니다.

정규 표현식에서는

특수 문자

(또는 문자 모음)를 사용하여 검색할 내용을 제공합니다. . 문자(영어 상태 기간)는 모든 단일 문자와 일치할 수 있습니다. DOS의 ? 문자 및 SQL의 _(밑줄) 문자와 동일합니다. 예를 들어 정규식 c.t는 cat, cut, cot 등과 일치합니다. 예를 살펴보겠습니다. 텍스트:

orders1.txt

orders2.txt

sales1.txt

salesA.txt

orders3.txt

sales2.txt

sales .txt

정규식:

sales

.결과:

orders1.txt

orders2.txt

【sales1】.txt

【salesA】.txt

orders3.txt

【sales2】.txt

【sales.】txt

분석: 긍정적 그러면 매출이 표현됩니다. 문자열 sales와 다른 메모로 구성된 파일 이름을 찾습니다. 결과에서 볼 수 있듯이 .는 문자, 숫자 및 자체와 일치할 수 있습니다. 파일 7개 중 4개가 이 패턴과 일치합니다.

matchAndPrint 메소드가 호출되면 출력 결과는 다음과 같습니다.

sales1

salesA

sales2

sales.

3. 특수 문자 일치

.일반 캐릭터 표현에는 특별한 의미가 있습니다. 패턴에 .이 필요한 경우 정규식에서 .문자 자체가 필요하다는 것을 정규식에 알리는 방법을 찾아야 합니다. 이렇게 하려면 앞에 문자를 이스케이프해야 합니다. 또한 메타문자(이 문자가 문자 자체의 의미가 아닌 특별한 의미를 가짐을 나타내는 메타문자)이기도 합니다. 다음 예를 고려하십시오.

na 또는 sa로 시작하는 파일은 뒤에 오는 숫자에 관계없이 찾아보세요.

텍스트:

sales.txt

na1.txt

na2.txt

sa1.txt

sanatxt.txt

Reg 정규식: .a..txt

결과:

[sal]es.txt

[na1].txt

[na2].txt

[sa1].txt

[sanatxt] .txt

분석: 이 정규식은 na1.txt, na2.txt 및 sa1.txt를 찾았지만 두 가지 예상치 못한 결과도 발견했습니다. 정규식 .a..txt의 . 문자는 모든 문자와 일치하기 때문입니다. . 문자 자체를 일치시키려면 이스케이프를 사용해야 합니다. 정규식을 .a..txt로 수정하면 우리의 요구 사항을 충족할 수 있습니다.

참고: Java를 사용하는 경우 정규식 .a..txt는 Java 언어의 이스케이프 문자이기도 하므로 .a.\.txt로 작성해야 합니다.

4. 요약

정규 표현식은 실제로는 일부 문자로 구성된 문자열입니다. 이러한 문자는 일반 문자(일반 텍스트) 또는 메타 문자(특수 의미가 있는 특수 문자)일 수 있습니다. 일반 문자와 메타 문자를 사용하여 단위 문자를 일치시키는 방법을 소개합니다. .은 모든 문자와 일치할 수 있습니다. 문자를 이스케이프하는 데 사용됩니다. 정규식에서 특별한 의미를 갖는 문자 시퀀스는 항상 문자로 시작됩니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

php와 js를 사용하여 숫자와 문자의 정기적인 비밀번호 매칭 구현

한자를 포함할 수 없는 JQ의 정기 확인 방법

위 내용은 정규식을 활용한 단일 문자 매칭 상세 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

java의 Character.isDigit() 함수를 사용하여 문자가 숫자인지 확인합니다. java의 Character.isDigit() 함수를 사용하여 문자가 숫자인지 확인합니다. Jul 27, 2023 am 09:32 AM

Java의 Character.isDigit() 함수를 사용하여 문자가 숫자인지 확인합니다. 문자는 컴퓨터 내부에서 ASCII 코드 형식으로 표시됩니다. 그 중 숫자 0~9에 해당하는 아스키코드 값은 각각 48~57이다. 문자가 숫자인지 확인하려면 Java의 Character 클래스에서 제공하는 isDigit() 메서드를 사용할 수 있습니다. isDigit() 메소드는 Character 클래스에 속합니다.

Word에서 화살표를 입력하는 방법 Word에서 화살표를 입력하는 방법 Apr 16, 2023 pm 11:37 PM

자동 고침을 사용하여 Word에서 화살표를 입력하는 방법 Word에서 화살표를 입력하는 가장 빠른 방법 중 하나는 미리 정의된 자동 고침 바로 가기를 사용하는 것입니다. 특정 문자 시퀀스를 입력하면 Word에서는 자동으로 해당 문자를 화살표 기호로 변환합니다. 이 방법을 사용하면 다양한 화살표 스타일을 그릴 수 있습니다. 자동 고침을 사용하여 Word에서 화살표를 입력하려면 문서에서 화살표를 표시할 위치로 커서를 이동합니다. 다음 문자 조합 중 하나를 입력하십시오. 입력한 내용을 화살표 기호로 수정하지 않으려면 키보드의 백스페이스 키를 눌러

Microsoft Excel에서 위 첨자 및 아래 첨자 서식 옵션을 적용하는 방법 Microsoft Excel에서 위 첨자 및 아래 첨자 서식 옵션을 적용하는 방법 Apr 14, 2023 pm 12:07 PM

위 첨자는 일반 텍스트 줄보다 약간 위에 설정해야 하는 문자 또는 숫자입니다. 예를 들어, 1st를 써야 한다면 문자 st는 문자 1보다 약간 높아야 합니다. 마찬가지로 아래 첨자는 문자 그룹 또는 단일 문자이므로 일반 텍스트 수준보다 약간 낮게 설정해야 합니다. 예를 들어, 화학식을 작성할 때 일반 문자 줄 아래에 숫자를 배치해야 합니다. 다음 스크린샷은 위 첨자 및 아래 첨자 형식의 몇 가지 예를 보여줍니다. 어려운 작업처럼 보일 수도 있지만 텍스트에 위 첨자 및 아래 첨자 서식을 적용하는 것은 실제로 매우 간단합니다. 이 기사에서는 위 첨자 또는 아래 첨자를 사용하여 텍스트 서식을 쉽게 지정하는 방법을 몇 가지 간단한 단계로 설명합니다. 이 기사를 재미있게 읽으셨기를 바랍니다. Excel에서 위 첨자를 적용하는 방법

iPhone 및 Mac에서 도 기호와 같은 확장 문자를 어떻게 입력합니까? iPhone 및 Mac에서 도 기호와 같은 확장 문자를 어떻게 입력합니까? Apr 22, 2023 pm 02:01 PM

실제 또는 숫자 키보드는 표면에 제한된 수의 문자 옵션을 제공합니다. 하지만 iPhone, iPad, Mac에서는 여러 가지 방법으로 악센트 부호가 있는 문자, 특수 문자 등에 접근할 수 있습니다. 표준 iOS 키보드를 사용하면 대문자와 소문자, 표준 숫자, 구두점 및 문자에 빠르게 액세스할 수 있습니다. 물론 그 외에도 많은 캐릭터들이 있습니다. 발음 구별 부호가 있는 문자부터 거꾸로 된 물음표까지 선택할 수 있습니다. 숨겨진 특별한 캐릭터를 우연히 발견했을 수도 있습니다. 그렇지 않은 경우 iPhone, iPad 및 Mac에서 액세스하는 방법은 다음과 같습니다. iPhone 및 iPad에서 확장 문자에 액세스하는 방법 iPhone 또는 iPad에서 확장 문자를 얻는 방법은 매우 간단합니다. "정보"에서는 "

matplotlib에서 한자를 표시하는 올바른 방법 matplotlib에서 한자를 표시하는 올바른 방법 Jan 13, 2024 am 11:03 AM

matplotlib에서 한자를 올바르게 표시하는 것은 많은 중국 사용자가 자주 겪는 문제입니다. 기본적으로 matplotlib는 영어 글꼴을 사용하므로 중국어 문자를 올바르게 표시할 수 없습니다. 이 문제를 해결하려면 올바른 중국어 글꼴을 설정하고 이를 matplotlib에 적용해야 합니다. 다음은 matplotlib에서 중국어 문자를 올바르게 표시하는 데 도움이 되는 몇 가지 특정 코드 예제입니다. 먼저 필수 라이브러리를 가져와야 합니다. importmatplot

Golang을 사용하여 문자가 문자인지 확인하는 방법 Golang을 사용하여 문자가 문자인지 확인하는 방법 Dec 23, 2023 am 11:57 AM

Golang을 사용하여 문자가 문자인지 확인하는 방법 Golang에서는 유니코드 패키지의 IsLetter 함수를 사용하여 문자인지 여부를 확인할 수 있습니다. IsLetter 함수는 주어진 문자가 문자인지 확인합니다. 다음으로 Golang을 사용하여 문자가 문자인지 판별하는 코드를 작성하는 방법을 자세히 소개하겠습니다. 먼저 코드를 작성할 새 Go 파일을 만들어야 합니다. 파일 이름을 "main.go"로 지정할 수 있습니다. 암호

Java의 Enter 키의 문자 표현과 관련하여 어느 것입니까? Java의 Enter 키의 문자 표현과 관련하여 어느 것입니까? Mar 29, 2024 am 11:48 AM

Java에서 Enter 키의 문자 표현은 `입니다. Java에서 `는 개행 문자를 나타내며 이 문자가 나타나면 텍스트 출력이 줄바꿈됩니다. 다음은 ``를 사용하여 Enter 키를 나타내는 방법을 보여주는 간단한 코드 예제입니다. publicclassMain{publicstaticvoidmain(String[]args){System.out.println("This is the first line of this

Windows 11에서 특수 문자를 입력하는 방법 Windows 11에서 특수 문자를 입력하는 방법 Apr 17, 2023 pm 08:28 PM

태블릿 모드에서 터치 키보드 활성화 터치 스크린 노트북이 있는 경우 Windows 11에서 터치 키보드를 사용하여 여러 특수 문자를 입력할 수 있습니다. 이것은 아마도 특수 문자를 추가하는 가장 쉬운 방법일 것입니다. Windows 11에서 터치스크린에 특수 문자 활성화: 시작 메뉴를 열고 설정을 선택합니다. 설정이 열리면 시간 및 언어 > 입력 > 터치 키보드로 이동합니다. 입력 메뉴에서 '키보드를 사용할 수 없을 때 터치 키보드 표시' 옵션을 선택하세요. 태블릿 모드 없이 터치 키보드 활성화 터치 키보드에 액세스하는 또 다른 방법은 터치 키보드가 작업 표시줄에 풀타임으로 표시되도록 하는 것입니다. 터치 키보드에 액세스할 수 있게 하려면 Windows 11에 이를 표시하도록 지시해야 합니다. 다음 단계를 따르십시오. 시작 메뉴에서

See all articles