나한테는 그런 문자열이 있어
hack SIGN (2005) g$
5 Cm Per Second - Makoto Shinkai Collection (2007)
Abenobashi (2002) gd
Ai City - La Notte Dei Cloni (1986) dfg
AIKA (1997)
Anna Dai Capelli Rossi (1979) £$"£
메모장에 표시하고 싶습니다++
2005
2007
2002
1986
1997
1979
이 정규식을 사용하지만 제대로 작동하지 않는 것 같습니다.
찾다:
\(\b(19|20)\d{2}\b\)
바꾸다
r\n\1\1
그런데 나한테 이런 문자가 와.
hack SIGN r
2020 g$
5 Cm Per Second - Makoto Shinkai Collection r
2020
Abenobashi r
2020 gd
Ai City - La Notte Dei Cloni r
1919 dfg
..
따라서 이 정규식은 예상대로 작동하지 않습니다.
답변1
에서 Ctrl
+를 누른 후 아래 지침을 따르세요.H
메모장++각 줄당 4자리 숫자 그룹을 일치시키고 예상되는 결과를 제공하는 문자만 인쇄합니다.
결과
2005
2007
2002
1986
1997
1979
추가 리소스
앵커
앵커는 특정 문자가 아닌 줄의 위치와 일치합니다.
^
이는 줄의 시작과 일치합니다(세트 내부에서 사용되는 경우는 제외, 위 참조).
$
이는 줄의 끝과 일치합니다.
범위 또는 문자 종류
[^...]
세트에 있는 문자의 보완입니다.
단일 문자 일치
., \c
모든 문자와 일치합니다. ".matches newline"이라는 상자를 선택하면 점이 실제로 그렇게 하여 "any" 문자가 여러 줄에 걸쳐 실행될 수 있게 됩니다. 옵션을 선택하지 않은 상태에서 . 줄 끝 문자(\r 및 \n)가 아닌 줄 내의 문자만 일치합니다.
곱셈 연산자
*
이는 이전 문자의 0개 이상의 인스턴스와 가능한 한 많이 일치합니다. 예를 들어 Sa*m은 Sm, Sam, Saam 등과 일치합니다.
*?
이전 그룹이 0개 이상이지만 최소한: "탐욕스러운" * 연산자와 같이 가장 긴 문자열이 아닌 가장 짧은 일치 문자열입니다. 따라서 m.*?o는 텍스트 margin-bottom: 0에 적용됩니다. margin-bo와 일치하는 반면 m.*o는 margin-botto와 일치합니다.
{n}
적용되는 요소의 n개 복사본과 일치합니다.
+
이는 가능한 한 많이 이전 문자의 인스턴스 1개 이상과 일치합니다.
여러 떼
(...)
괄호는 정규식의 하위 집합을 표시합니다. 괄호의 내용과 일치하는 문자열은
( )
역참조 또는 교체 작업의 일부로 재사용될 수 있습니다. 아래 대체 항목을 참조하세요.그룹은 중첩될 수 있습니다.
(?<some name>...), (?'some name'...),(?(some name)...)
범위 또는 문자 종류
\d
0-9 범위의 숫자, 다음과 동일[[:숫자:]].
대체
$n, ${n}, \n
n번째 하위 표현식과 일치하는 항목을 반환합니다. 음수 인덱스는 허용되지 않습니다.
답변2
- Ctrl+H
- 무엇을 찾다:
^(?:.*?\(((?:19|20)\d{2})\).*|.*\R)$
- 다음으로 교체:
$1
- 둘러보기 확인
- 정규식 확인
- 확인하지 마세요
. matches newline
- Replace all
설명:
^ : beginning of line
(?: : start non capture group
.*? : 0 or more any character but newline, not greedy
\( : open parenthesis
( : start group 1
(?:19|20) : non capture group, 19 or 20
\d{2} : 2 digits
) : end group 1
\) : close parenthesis
.* : 0 or more any character but newline
| : OR
.* : 0 or more any character but newline
\R? : any kind of linebreak, optional
) : end non capture group
$ : end of line
다음과 같은 입력이 주어지면:
hack SIGN (2005) g$
5 Cm Per Second - Makoto Shinkai Collection (2007)
Abenobashi (2002) gd
Ai City - La Notte Dei Cloni (1986) dfg
AIKA (1997)
Anna Dai Capelli Rossi (1979) £$"£
123456 1234
(123) 4567
우리는 다음을 얻었습니다:
2005
2007
2002
1986
1997
1979