Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

정규표현식/스터디/문자집합으로찾기: Difference between revisions

From ZeroWiki
imported>zeldababo
No edit summary
(Table transclusion repair v1)
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[pagelist(^정규표현식/*)]]
[[pagelist(^정규표현식/*)]]
__TOC__
== 여러문자 중 하나와 일치 시키기(상호) ==
마침표(.)는 어떤 문자와도 일치한다. 만약 특수한 문자와 일치시키고 싶다면,
"문자집합"을 사용한다.
문자집합은 메타문자 대괄호([])를 사용해 문자집합을 표현한다. 대괄호 안에 있는 문자는 모두 집합의 구성원이 되며, 집합에 속한 문자 가운데 하나가 일치한다. 집합에 속한 모든 문자가 모두 일치할 필요는 없다.
예를들어,
sales1.xls
order3.xls
sales2.xls
sales3.xls
apac1.xls
euroup2.xls
na1.xls
na2.xls
sa1.xls
ca1.xls
* 정규표현식  [ ns ] a.\.xls


-----
결과
[[pagelist(^정규표현식/스터디/*)]]


-----
sales1.xls
order3.xls
sales2.xls
sales3.xls
apac1.xls
euroup2.xls
na1.xls
na2.xls
sa1.xls
ca1.xls


__TOC__
= 문자 집합으로 찾기 =
== 여러문자 중 하나와 일치 시키기(상호) ==
== 문자집합 범위 사용하기(준석) ==
== 문자집합 범위 사용하기(준석) ==
문자 집합 찾기. 정규 표현식의 모든 문자를 뜻하는 '.'가 있음을알것이다. 하지만 모든 문자말고 소문자만 찾고싶다
대문자만 찾고싶다. 숫자만 찾고싶다 할때는 어떻게 해야하는가? 이런 해당 '범위'를 지정해서 찾는 방법은 다음과 같다.
=== 예문 ===
sales1.xls
orders3.xls
sales2.xls
sales3.xls
spac1.xls
europ2.xls
sam.xls
na1.xls
na2.xls
sa1.xls
ca1.xls
* 정규표현식
**
[ns]a[0123456789]\.xls
이나  [ns]a[0-9]\.xls
* 결과
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
sam.xls
na2.xls
sa1.xls
ca1.xls
=== 내용 ===
*
다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 한글자만을 지원한다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.
**
ex) [0-9]*\.xls
*
또한 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 문자 또한 지원한다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또한 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 문자와 같이 인식하므로 특수문자 %&^&#*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야한다.
** ex ) [\\\\%\-&^&#*$a-zA-Z0-9]
[A-z][a-f]
로 찾을수 있다.
== 제외하고 찾기(승한) ==
== 제외하고 찾기(승한) ==
* 앞에 캐럿(^)을 붙인다
** ex :
[^A-Zaz]
,  [^0-9]
== 정리하기 ==
* 문자 집합 정의 :
[문자들]
** OR 연산이다. AND 가 아니다.
* 문자 범위 정의 :
[A-Za-z])
* 제외하고 찾기 :
[^A-Z]


[[정규표현식/스터디/문자집합으로찾기/예제]]

Latest revision as of 12:46, 27 March 2026

[[pagelist(^정규표현식/*)]]

여러문자 중 하나와 일치 시키기(상호)

마침표(.)는 어떤 문자와도 일치한다. 만약 특수한 문자와 일치시키고 싶다면, "문자집합"을 사용한다. 문자집합은 메타문자 대괄호([])를 사용해 문자집합을 표현한다. 대괄호 안에 있는 문자는 모두 집합의 구성원이 되며, 집합에 속한 문자 가운데 하나가 일치한다. 집합에 속한 모든 문자가 모두 일치할 필요는 없다.

예를들어,

sales1.xls order3.xls sales2.xls sales3.xls apac1.xls euroup2.xls na1.xls na2.xls sa1.xls ca1.xls

  • 정규표현식 [ ns ] a.\.xls

결과

sales1.xls order3.xls sales2.xls sales3.xls apac1.xls euroup2.xls na1.xls na2.xls sa1.xls ca1.xls

문자집합 범위 사용하기(준석)

문자 집합 찾기. 정규 표현식의 모든 문자를 뜻하는 '.'가 있음을알것이다. 하지만 모든 문자말고 소문자만 찾고싶다 대문자만 찾고싶다. 숫자만 찾고싶다 할때는 어떻게 해야하는가? 이런 해당 '범위'를 지정해서 찾는 방법은 다음과 같다.


예문

sales1.xls orders3.xls sales2.xls sales3.xls spac1.xls europ2.xls sam.xls na1.xls na2.xls sa1.xls ca1.xls

  • 정규표현식
[ns]a[0123456789]\.xls

이나 [ns]a[0-9]\.xls

  • 결과

sales1.xls orders3.xls sales2.xls sales3.xls apac1.xls europe2.xls sam.xls

na2.xls
sa1.xls

ca1.xls

내용

다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 한글자만을 지원한다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.
ex) [0-9]*\.xls
또한 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 문자 또한 지원한다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또한 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 문자와 같이 인식하므로 특수문자 %&^&#*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야한다.
    • ex ) [\\\\%\-&^&#*$a-zA-Z0-9]
[A-z][a-f]

로 찾을수 있다.

제외하고 찾기(승한)

  • 앞에 캐럿(^)을 붙인다
    • ex :
[^A-Zaz]

, [^0-9]

정리하기

  • 문자 집합 정의 :
[문자들]
    • OR 연산이다. AND 가 아니다.
  • 문자 범위 정의 :
[A-Za-z])
  • 제외하고 찾기 :
[^A-Z]

정규표현식/스터디/문자집합으로찾기/예제