2019 - 04 - 17 정규 표현 식
기본 정규 표현 식
^ $ . [] *
기본 정규 Basic RE BRE ^. *. * [];[^]
뒤에 필요 해서 늘 었 어 요.
정규 표현 식 확장
() {} ? + |
확장 정규 | () {}?
어댑터 와 정규 표현 식 의 차이
(1.) 정규 표현 식
파일 에서 파일 내용 을 걸 러 내 는 데 편리 합 니 다.
삼 총사 grep sed awk python 자바
(2.) 어댑터
파일 이름 찾기
Linux 대부분의 명령 은. txt 등 으로 끝 나 는 파일 을 지원 합 니 다.
주의 사항
중국어 기호 와 영문 기호 가 다 르 니 주의 하 세 요.
grep / egerp 설정 이름 추가 (CentOS 7 설정 하지 않 음)
기초 정규 의 표현 의미
파일 에서 내용 을 찾 거나 걸 러 내 는 데 편리 합 니 다.
환경 설정
[root@lidao ~]# cat /tmp/oldboy
ldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
my qq is 49000448
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
grep 사용법
[root@lidao ~]# grep "3306" /etc/services
mysql 3306/tcp # MySQL
mysql 3306/udp # MySQL
^.. 로 시작 하 는 문자
[root@lidao ~]# grep "^ssh" /etc/services
ssh 22/tcp # The Secure
Shell (SSH) Protocol
ssh 22/udp # The Secure Shell (SSH) Protocol
ssh 22/sctp # SSH
sshell 614/tcp # SSLshell
sshell 614/udp # SSLshell
ssh-mgmt 17235/tcp # SSH Tectia Manager
ssh-mgmt 17235/udp # SSH Tectia Manager
m 로 시 작 했 어 요.
[root@lidao ~]# grep "^m" /tmp/oldboy my blog is
http://oldboy.blog.51cto.com my qq is 49000448 my god ,i am
not oldbey,but OLDBOY!
$로 끝 나 는..
빈 칸 표시 기호
[root@lidao ~]# grep "m$" /tmp/oldboy
[root@lidao ~]# grep "m $" /tmp/oldboy my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com
숨겨 진 기호 $
[root@lidao ~]# cat -A /tmp/oldboy
$
ldboy.txt$
I am oldboy teacher!$
I teach linux.$
$
I like badminton ball ,billiard ball and chinese chess!$
my blog is http://oldboy.blog.51cto.com $
our size is http://blog.oldboyedu.com $
my qq is 49000448$
$
not 4900000448.$
my god ,i am not oldbey,but OLDBOY! $
$
공 행 [root@lidao ~]# grep "^$" /tmp/oldboy
빈 줄 번호 표시 grep - n
[root@lidao ~]# grep -n "^$" /tmp/oldboy
1:
5:
10:
13:
[root@lidao ~]# grep -vn "^$" /tmp/oldboy
2:ldboy.txt
3:I am oldboy teacher!
4:I teach linux.
6:I like badminton ball ,billiard ball and chinese chess!
7:my blog is http://oldboy.blog.51cto.com
8:our size is http://blog.oldboyedu.com
9:my qq is 49000448
11:not 4900000448.
12:my god ,i am not oldbey,but OLDBOY!
임의의 문자 (단일), 빈 줄 과 일치 하지 않 습 니 다.
grep - o grep 실행 과정 표시
[root@lidao ~]# grep -o '.$' /tmp/oldboy
I teach linux. not 4900000448.
\ 전의 문 자 는 기호 원래 의 특수 한 의 미 를 제거한다
/ n Enter
/t teb
n 을 리 턴 으로 바꾸다
[root@lidao ~]# echo -e "nood
bood
moon"
nood
bood
moon
* 이전 문자 가 0 회 또는 0 회 이상 줄 마다 일치 함
[root@lidao ~]# grep '0*' /tmp/oldboy
ldboy.txt I am oldboy teacher! I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com my qq is 49000448
not 4900000448. my god ,i am not oldbey,but OLDBOY!
. * 모든 기호 (빈 줄 포함) 가 줄 마다 일치 합 니 다.
o 로 시작 하 는 내용.
[root@lidao ~]# grep '^.*O' /tmp/oldboy
my god ,i am not oldbey,but OLDBOY!
특성 이 오 는 사람 은 매 칭 할 수 있 는 만큼 매 칭 하 는 것 을 거절 하지 않 는 다.
모든 o 가 연속 으로 나타 나 면 매 칭 설 이 멈 추 지 않 습 니 다.
() 전체 방향 참조 / 후 참조 표시
[] [abc] 는 하나의 문자 (매번 하나의 zifu 와 일치) 에 해당 하 며 a 또는 b 또는 c 와 일치 합 니 다.
[root@lidao ~]# grep '[abc]' /tmp/oldboy
ldboy.txt I am oldboy teacher! I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com our size is
http://blog.oldboyedu.com my god ,i am not oldbey,but OLDBOY!
모든 대문자 와 숫자
grep '[a-zA-Z0-9]' /tmp/oldboy
모든 소문 자 와 숫자
grep '[a-Z0-9]' /tmp/oldboy
모든 대소 문자
grep '[0-Z]' /tmp/oldboy
m 또는 n 또는 o 로 시작 하 는 줄 보이 기
[root@lidao ~]# grep '[1]' /tmp/oldboy
my blog is http://oldboy.blog.51cto.com our size is
http://blog.oldboyedu.com my qq is 49000448 not 4900000448.
my god ,i am not oldbey,but OLDBOY!
m 또는 n 또는 점 으로 끝 나 는 줄
grep '[mo.]$' /tmp/oldboyI teach linux. not 4900000448.
m 또는 n 또는 o 로 시작 하고 m 또는 n 또는 점 으로 끝 나 는 줄 보이 기
[root@lidao ~]# grep '[2].*[mo.]$' /tmp/oldboy
not 4900000448. {}
[^ abc] 싫어 a 싫어 b 싫어 c
grep '[^abc]' /tmp/oldboy
[^ abc] a 나 b 또는 c 가 포함 되 지 않 은 모든 줄 을 문자 로 걸 러 내지 마 십시오.
grep - v 안 돼.
결론 ^. *. * \ [] [^]
확장 정규
+ 이전 문자 연속 또는 연속 1 회 또는 여러 번 일반 배합 [] 사용
[root@lidao ~]# egrep '[a-Z]+' /tmp/oldboy
ldboy.txt I am oldboy teacher!
I teach linux. I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com our size is
http://blog.oldboyedu.com my qq is 49000448 not 4900000448. my god ,i am not oldbey,but OLDBOY!
| 혹시
[root@lidao ~]# egrep 'oldboy|linux' /tmp/oldboy I am oldboy teacher!
I teach linux. my blog is
http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com
() 작은 괄호 가 묶 인 내용 은 하나의 전체 에 해당 한다.
표현 후 인용 (역방향 참조)
{} 연속 출현
{n, m} 앞의 문자 와 최소 n 번, 최대 m 번 일치 합 니 다.
0 이 최소 2 번 나타 나 고 최대 3 번 나타 나 는 내용 을 표시 합 니 다.
[root@lidao ~]# egrep '0{2,3}' /tmp/oldboy
my qq is 49000448
not 4900000448.
=0 * =1 +
b {m, n} 이전 문자 연속 m 회 출현
b {m,} 이전 문자 연속 최소 m 회
b {, n} 이전 문자 연속 최대 n 회
? 이전 문자 와 일치 하여 0 번 또는 한 번 반복 합 니 다.
[root@lidao ~]# egrep '0?' /tmp/oldboy
ldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
my qq is 49000448
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
총 결 | () {}?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.