Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java

  1. Java 정규식 POSIX 문자 클래스 \p{Lu} 완벽 정리 – 대문자 매칭 방법

    POSIX 문자 클래스 \p{Lu}는 영문 대문자(Upper case letter)와 일치하는 정규식 패턴입니다. Java에서 이 클래스를 활용하면 문자열에 포함된 대문자를 찾거나 개수를 세고, 조건에 맞는 문자열을 걸러내는 작업을 간단하게 처리할 수 있습니다.예제 1 – 문자열에서 대문자 개수 세기다음 예제는 Scanner로 사용자에게 문자열을 입력받은 뒤, \p{Lu} 패턴과 일치하는 대문자의 개수를 세어 출력합니다.import java.util.Scanner; import java.util.regex.Matcher; impor

  2. Java 정규식 POSIX 문자 클래스 \p{IsAlphabetic} 활용법 총정리

    POSIX 문자 클래스 \p{IsAlphabetic}란?Java 정규식에서 \p{IsAlphabetic}는 알파벳 문자(문자 체계상 문자로 분류되는 글자)와 일치하는 POSIX 문자 클래스입니다. 이 클래스를 활용하면 입력 문자열에 포함된 영문자의 개수를 세거나, 알파벳이 포함된 문자열만 골라내는 등의 작업을 손쉽게 처리할 수 있습니다.아래에서 두 가지 실전 예제를 통해 사용 방법을 살펴보겠습니다.예제 1: 문자열 내 알파벳 문자 개수 세기다음 예제는 사용자로부터 문자열을 입력받은 후, 정규식 \p{IsAlphabetic}을 이용해

  3. 자바(Java) 정규식 POSIX 문자 클래스 \p{Sc} – 통화 기호 매칭 완벽 가이드

    정규식에서 \p{Sc}는 통화 기호(Currency Symbol)를 매칭하는 POSIX 문자 클래스입니다. 여기서 Sc는 유니코드 범주 중 기호(Symbol), 그중에서도 통화(currency)에 해당하며, 달러($), 유로(€), 파운드(£), 엔(¥) 같은 통화 기호와 일치합니다.이 글에서는 자바의 Pattern과 Matcher 클래스를 활용해 \p{Sc}를 사용하는 두 가지 예제를 살펴보겠습니다.예제 1: 문자열에서 통화 기호 개수 세기다음 예제는 사용자로부터 문자열을 입력받아, 해당 문자열에 포함된 통화 기호의 개수를 세는

  4. Java MatchResult end() 메서드 완벽 가이드 – 예제 코드로 배우기

    java.util.regex.MatchResult 인터페이스는 정규식 매칭 결과를 조회할 수 있는 다양한 메서드를 제공합니다.이 인터페이스의 객체는 Matcher 클래스의 toMatchResult() 메서드를 통해 얻을 수 있습니다. 이 메서드는 현재 매처(matcher)의 매칭 상태를 나타내는 MatchResult 객체를 반환합니다.MatchResult 인터페이스의 end() 메서드는 마지막으로 매칭된 문자열이 끝난 위치의 오프셋(offset)을 반환합니다. 즉, 매칭된 마지막 문자 바로 다음 인덱스 값을 알려줍니다.end() 메

  5. Java MatchResult end(int group) 메서드 완벽 가이드 – 예제 코드로 배우기

    java.util.regex.MatchResult 인터페이스는 정규식 매칭 결과를 조회할 수 있는 다양한 메서드를 제공합니다. 이 인터페이스의 객체는 Matcher 클래스의 toMatchResult() 메서드를 통해 얻을 수 있습니다. 이 메서드는 현재 매처(matcher)의 매칭 상태를 나타내는 MatchResult 객체를 반환합니다. 인터페이스가 제공하는 end(int group) 메서드는 특정 그룹을 나타내는 정수를 인자로 받으며, 해당 그룹에서 마지막으로 일치가 발생한 위치 바로 뒤의 오프셋(offset)을 반환합니다. 동작

  6. Java MatchResult group() 메서드 완벽 가이드 - 예제 코드와 함께 배우기

    java.util.regex.MatchResult 인터페이스는 정규식 매칭 작업의 결과를 조회할 수 있는 다양한 메서드를 제공합니다. 매칭된 문자열이나 그룹 정보를 손쉽게 확인할 때 유용하게 사용됩니다.MatchResult 객체 얻는 방법MatchResult 객체는 Matcher 클래스의 toMatchResult() 메서드를 통해 얻을 수 있습니다. 이 메서드는 현재 매처(matcher)의 매칭 상태를 나타내는 MatchResult 객체를 반환하며, 이를 통해 매칭 결과를 별도로 저장하거나 참조할 수 있습니다.group() 메서드란

  7. Java 정규식 문자 클래스 교차(&&) 연산 완벽 이해하기

    Java 정규식에서 문자 클래스(Character Class)는 대괄호 [ ]를 사용하여 정의합니다. 이 하위 표현식은 지정된 문자 집합 중 단 하나의 문자와 일치합니다. 예를 들어, 정규식 [abc]는 a, b, c 중 하나의 문자와 일치합니다.문자 클래스의 교차(Intersection) 변형을 사용하면 서로 교차 관계에 있는 범위들 사이에서 공통으로 포함되는 문자만 매칭할 수 있습니다.교차 관계는 && 연산자로 정의합니다. 예를 들어 [a-z&&[r-u]] 표현식은 소문자 전체 범위(a~z)와 범위(

  8. 자바 정규식 문자 클래스 차집합(Subtraction) 완벽 가이드

    자바 정규식에서는 하나의 문자 범위에서 다른 범위를 빼서 새로운 범위를 만들 수 있습니다. 이를 차집합(Subtraction)이라고 하며, 문자 클래스의 두 가지 기능인 부정(Negation)과 교집합(Intersection)을 조합하여 구현합니다.차집합의 동작 원리예를 들어, 범위 [a-l]과 [^e-h]의 교집합을 구하면, a부터 l까지의 문자 중에서 e부터 h까지의 문자를 제외한 결과, 즉 a, b, c, d, i, j, k, l에 해당하는 새로운 범위가 만들어집니다.문법은 다음과 같습니다.[a-l&&[^e-h]][a-l] :

  9. Java 정규식의 \Q 메타문자 이스케이프 활용법

    정규식에서 \Q는 \E가 나올 때까지 등장하는 모든 문자를 이스케이프(escape) 처리하는 하위 표현식, 즉 메타문자입니다. 따라서 \Q와 \E 사이에 메타문자를 배치하면 해당 문자들이 가진 특수한 의미가 무시되고 일반 문자로 취급됩니다.기본 예제: 일반적인 정규식 매칭예를 들어, 정규식 [aeiou]는 입력 문자열 안에 모음(a, e, i, o, u)이 포함되어 있는지 확인합니다. 아래 예제를 살펴보겠습니다.import java.util.Scanner; import java.util.regex.Matcher; import jav

  10. Java로 문자열에서 1과 2를 제외한 모든 숫자 제거하기

    문자열 처리 작업 중에는 특정 숫자만 남기고 나머지 숫자를 모두 제거해야 하는 경우가 있습니다. Java에서는 정규 표현식(Regular Expression)과 replaceAll() 메서드를 조합하면 이러한 작업을 간단하게 처리할 수 있습니다.핵심 원리정규 표현식 (?<!\d)숫자(?!\d)는 지정한 숫자 하나와 정확히 일치합니다. 여기서 (?<!\d)는 뒤쪽 탐색(Lookbehind), (?!\d)는 앞쪽 탐색(Lookahead)으로, 해당 숫자 앞뒤에 다른 숫자가 붙어 있지 않은 경우에만 매칭됩니다. 즉, 12처럼

  11. Java 정규식 소유 수량자(Possessive Quantifier) 완벽 정리

    소유 수량자란 무엇인가? 탐욕적 수량자(Greedy Quantifier)는 정규식에서 기본값으로 사용되는 수량자입니다. 탐욕적 수량자는 입력 문자열에서 가능한 한 가장 긴 매칭을 시도하며, 매칭에 실패하면 마지막 문자 하나를 되돌려 놓는 백트래킹(backtracking) 과정을 거친 후 다시 매칭을 시도합니다. 소유 수량자(Possessive Quantifier)는 탐욕적 수량자와 동작 방식이 유사하지만 결정적인 차이가 있습니다. 소유 수량자 역시 처음에 가능한 한 많은 문자를 매칭하려고 시도하지만, 매칭에 실패했을 때 탐욕적 수량

  12. Java 정규식 POSIX 문자 클래스 \p{Blank} – 탭과 공백 문자 매칭 방법

    POSIX 문자 클래스 \p{Blank}란?Java 정규식에서 \p{Blank}는 탭(tab) 또는 공백(space) 문자에 해당하는 모든 문자와 일치하는 POSIX 문자 클래스입니다. 이 클래스를 활용하면 문자열 내에 포함된 공백 문자를 쉽게 찾거나 개수를 세고, 특정 조건에 맞는 문자열을 필터링할 수 있습니다.예제 1: 공백 문자 개수 세기다음 예제는 사용자로부터 문자열을 입력받아 \p{Blank} 정규식으로 문자열 안에 포함된 공백 문자(탭 또는 스페이스)의 개수를 출력합니다.import java.util.Scanner; im

  13. Java 정규식 논리 연산자 완벽 정리: XY, X|Y, 캡처 그룹 활용법

    Java 정규식(Regular Expression)은 복잡한 문자열 패턴을 효율적으로 처리할 수 있도록 3가지 논리 연산자를 지원합니다.XY : X 다음에 Y가 이어지는 패턴X|Y : X 또는 Y 중 하나와 일치(X) : 캡처 그룹(Capturing Group)각 연산자의 동작 방식과 실제 코드 예제를 통해 자세히 알아보겠습니다.1. XY : X 다음에 Y가 오는 패턴이 연산자는 두 개의 연속된 단일 문자를 순서대로 매칭하는 가장 기본적인 형태입니다. 예를 들어 정규식 am은 입력 문자열에서 a 바로 뒤에 m이 나오는 부분을 찾습니

  14. Java 정규식 수량자(Quantifier) 완벽 가이드

    Java 정규식 수량자란?정규식(regular expression)을 작성하다 보면 특정 패턴이 몇 번 반복되어야 하는지 지정해야 하는 경우가 자주 발생합니다. 이때 사용하는 것이 바로 수량자(Quantifier)입니다. 수량자는 바로 앞에 위치한 문자, 문자 클래스 또는 그룹이 나타나는 횟수를 제어하는 역할을 합니다.Java 정규식에서 지원하는 주요 수량자는 다음 표와 같습니다.수량자설명예시re*0회 이상 반복 (없어도 됨)[0-9]* : 0개 이상의 숫자와 일치re?0회 또는 1회만 등장[0-9]? : 0개 또는 1개의 숫자와

  15. Java 정규식으로 문자열에 괄호 ( 또는 )가 포함되었는지 확인하는 방법

    괄호 ( 또는 ) 포함 여부를 확인하는 Java 정규식정규 표현식(Regular Expression)을 사용하면 문자열에 특정 문자가 포함되어 있는지 손쉽게 검사할 수 있습니다. 다음 정규식은 괄호 ( 또는 )가 포함된 문자열을 허용합니다."^.*[\\(\\)].*$";^ : 문자열의 시작 위치를 나타냅니다..* : 0개 이상의 임의의 문자와 일치합니다.[\\(\\)] : 괄호 ( 또는 )와 일치합니다. 괄호는 정규식에서 특별한 의미를 가지는 메타 문자이므로 역슬래시(\\)로 이스케이프해야 합니다.$ : 문자열의

  16. 자바(Java) 정규식 비탐욕(Reluctant) 수량자 완벽 정리

    정규식에서 수량자(quantifier)는 패턴이 반복되는 횟수를 지정하는 특수 문자입니다. 수량자는 크게 탐욕적(Greedy) 방식과 비탐욕적(Reluctant, Non-greedy) 방식으로 나뉩니다.탐욕적 수량자와 비탐욕적 수량자의 차이탐욕적(Greedy) 수량자는 기본값으로 설정되어 있으며, 입력 문자열에서 가능한 한 가장 많은 부분(최대 길이 일치)을 찾으려고 시도합니다. 만약 매칭에 실패하면 마지막 문자 하나를 제외하고 다시 매칭을 시도하는 방식으로 동작합니다.반면 비탐욕적(Reluctant) 수량자는 정반대로 가능한 한

  17. Java 정규식 문자 클래스 완벽 가이드: 기본 문법부터 다양한 변형까지

    Java 정규식 문자 클래스란?Java 정규식에서 문자 클래스(character class)는 대괄호 [ ]를 사용하여 정의합니다. 이 하위 표현식은 지정된 문자 집합 또는 가능한 문자들의 집합 중 단 하나의 문자와 일치합니다.예를 들어 정규식 [abc]는 a, b, c 중 하나의 문자와 일치하며, 마찬가지로 [a-z]는 알파벳 소문자 a부터 z 사이의 한 글자와 일치합니다.문자 클래스의 다양한 변형Java 정규식의 문자 클래스는 아래와 같은 여러 변형을 제공하여 더욱 유연하고 강력한 패턴 매칭을 가능하게 합니다.1. 부정(Nega

  18. Java 정규식 캡처 그룹 수 계산 방법 – Matcher.groupCount() 활용

    정규식에서 여러 문자를 하나의 단위로 묶어 다루고 싶다면 캡처 그룹(capturing group)을 사용하면 됩니다. 캡처 그룹은 해당 문자들을 소괄호 ()로 감싸는 것만으로 간단히 만들 수 있으며, 매치된 문자열 중 특정 부분만 따로 추출할 때 특히 유용합니다. 현재 매치에 포함된 그룹의 개수는 Matcher 클래스의 groupCount() 메서드를 통해 확인할 수 있습니다. 이 메서드는 패턴에 정의된 캡처 그룹의 총 개수를 계산하여 반환합니다. 예제 코드 아래 예제는 t로 시작하고 t로 끝나는 단어를 찾는 정규식을 사용해, 매

  19. 자바 정규식 메타문자 [X?+] – 소유적 수량자 완벽 정리

    자바 정규식에서 소유적 수량자(Possessive Quantifier)인 [X?+]는 X가 한 번 나타나거나 아예 나타나지 않는 경우와 일치합니다.일반적인 탐욕적(Greedy) 수량자 X?나 게으른(Reluctant) 수량자 X??와 달리, 소유적 수량자 X?+는 매칭에 성공한 후 백트래킹(backtracking)을 통해 매칭을 결코 포기하지 않습니다. 이러한 특성 덕분에 복잡한 패턴에서 불필요한 역추적으로 인한 성능 저하를 방지할 수 있습니다.예제 코드package com.tutorialspoint; import java.util

  20. Java 정규식으로 인쇄 불가능한 문자(제어 문자) 매칭하는 방법

    텍스트 처리에서 자주 마주치는 인쇄 불가능한(non-printable) 문자는 일반적으로 7가지이며, 각 문자는 고유한 16진수 표현을 가지고 있습니다. Java의 정규식(java.util.regex)을 활용하면 이러한 제어 문자를 손쉽게 찾아내고 개수를 세거나 치환할 수 있습니다.주요 인쇄 불가능한 문자 목록이름이스케이프 표기16진수 표현벨(bell)\a0x07이스케이프(escape)\e0x1B폼 피드(form feed)\f0x0C라인 피드(line feed)\n0x0A캐리지 리턴(carriage return)\r0x0D수평 탭(

Total 1926 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:49/97  20-컴퓨터/Page Goto:1 43 44 45 46 47 48 49 50 51 52 53 54 55