Python 의 정규 표현 식 과 JSON 데이터 교환 형식

1.정규 표현 식
정규 표현 식 은 특수 한 문자 시퀀스 입 니 다.문자열 이 우리 가 설정 한 문자 시퀀스 와 일치 하 는 지,텍스트 를 빠르게 검색 하고 바 꾸 는 작업 을 수행 하 는 지 여부 입 니 다.
json(xml)경량급 웹 데이터 교환 형식

import re
a='C|C++|Java|C#||Python|Javascript'
r= re.findall('Python',a)
print(r)
if len(r) > 0:
 print('      Python')
else:
 print('No')
['Python']
      Python 
2.메타 문자 와 일반 문자

import re
a='C0C++7Java8C#9Python6Javascript'
r= re.findall('\d',a)
print(r)
b=''
for x in a:
 try:
 int(x)
 b +=x+','
 except :
 pass
print(b)
결과:
['0', '7', '8', '9', '6']
0,7,8,9,6,
'Python'일반 문자'\d'문자
문자 집합

import re
#          C  F    
s = 'abc, acc, adc, aec, afc, ahc'
r = re.findall('a[^cf]c', s) #[a-z] [cf]
print(r)
결과:
['abc', 'adc', 'aec', 'ahc']
4.요약 문자 집합

#\d    \D   
#\w       =[a-zA-Z0-9_] \W 
#\s      \S
a='python 11\t11java&678p
h\rp' r = re.findall('\s', a) print(r)
결과:
[' ', '\t', '', '\r']
수량

a='python 1111java&678php'
r = re.findall('[a-z]{3,6}', a)
print(r)
결과:
['python', 'java', 'php']
6.탐욕 과 비 탐욕

a='python 1111java&678php'
r = re.findall('[a-z]{3,6}?', a)
#         ?
print(r)
결과:
['pyt', 'hon', 'jav', 'php']
7.0 회 1 회 혹은 무한 회 매 칭

# *   0       
# +   1       
# ?   0   1 
a='pytho0python1pythonn2pythonw'
r = re.findall('python*', a)
print(r)
결과:
['pytho', 'python', 'pythonn', 'python']
8.경계 일치 문자

qq = '12345678'
# 4~8 
r = re.findall('^\d{4,8}$', qq)
print(r)
a = '123456789'
# 4~8 ^  $ ^   $  
e = re.findall('^\d{4,8}$', a)
print(e)
결과:
['12345678']
[]
9 조

# ()  
a = 'pythonpythonpythonpythonpython'
# 
r = re.findall('(python){3}', a)
print(r)
결과:
['python']은 한 그룹(python python python)이라는 데이터 가 존재 한 다 는 뜻 입 니 다.
10.일치 모드 매개 변수

# I | S       |       
lanuage = 'PythonC#
JavaPHP' r = re.findall('c#.{1}', lanuage,re.I | re.S) print(r)
결과:
['C#']
11.re.sub 정규 교체
검색 바 꾸 기

def convert(value):
 matched = value.group()
 # print(value) <_sre.SRE_Match object; span=(6, 8), match='C#'>
 return '!!'+matched+'!!'
lanuage = 'PythonC#JavaC#PHPC#'
# r = re.sub('C#', 'GO', lanuage, 1)     : PythonGOJavaC#PHPC#
# s=lanuage.replace('C#', 'GO')
r = re.sub('C#', convert, lanuage) #    
print(r)
결과:
Python!!C#!!Java!!C#!!PHP!!C#!!
12.함 수 를 매개 변수 로 전달 합 니 다.

def convert(value):
 matched = value.group() #      
 # print(value) <_sre.SRE_Match object; span=(6, 8), match='C#'>
 if int(matched) >=6 :
 return '9'
 else:
 return '0'
lanuage = 'A8C3721D86'
r = re.sub('\d', convert, lanuage)
print(r)
#
A9C0900D99
13.search 와 match 함수

s = 'A8C3721D86'
# None                         None      
r = re.match('\d', s) 
print(r) #None
#                               
r1 = re.search('\d', s)
print(r1) #<_sre.SRE_Match object; span=(1, 2), match='8'>
print(r1.group()) #8
print(r1.span()) # (1, 2)
r2 = re.findall('\d', s)
print(r2) #['8', '3', '7', '2', '1', '8', '6']
14.그룹 그룹 그룹

#  life  python     
s = 'life is short,i use python'
#None
r = re.search('life.*python', s)
print(r.group()) #life is short,i use python group(  )
r = re.search('life(.*)python', s)
print(r.group(0)) #life is short,i use python group(  )
print(r.group(1)) # is short,i use
#group(0)                    
r = re.findall('life(.*)python', s)
print(r) #[' is short,i use ']
s = 'life is short,i use python, i love python'
r = re.search('life(.*)python(.*)python', s)
print(r.group(0)) # life is short,i use python, i love python 
print(r.group(1)) # is short,i use
print(r.group(2)) # , i love
print(r.group(0,1,2)) #('life is short,i use python, i love python', ' is short,i use ', ', i love ')
print(r.groups()) # (' is short,i use ', ', i love ')
15.학습 정규 에 관 한 건의

#\d    \D   
#\w       =[a-zA-Z0-9_] \W 
#\s      \S
# .        
# * 0 # + 1 # ? 0 1 # () # I | S |
python:파충류,데이터 처리
16、JSON 이해
JSON 은 경량급 데이터 교환 형식 이다.
문자열 은 JSON 의 표현 형식 입 니 다.
JSON 형식 에 맞 는 문자열 을 JSON 문자열 이 라 고 합 니 다.{"name":"qiyue"}JSON VS XML
우세:
크로스 언어 교환 데이터
읽 기 쉽다
해석 하기 쉽다
네트워크 전송 효율 이 높다
17.반 직렬 화

import json
# JSON object array
json_str = '{"name":"qiyue","age":18}'
s = json.loads(json_str)
# dict
#    
s = json.loads(json_str) #load()  json                     
print(type(s)) #<class 'dict'>
print(s) #{'name': 'qiyue', 'age': 18}
print(s['name']) # qiyue
json_str = '[{"name":"qiyue","age":18},{"name":"qiyue","age":18}]'
s = json.loads(json_str)
print(type(s)) # <class 'list'>
print(s) # [{'name': 'qiyue', 'age': 18}, {'name': 'qiyue', 'age': 18}]

JSON Python
object dict
array list
string str
number int
number float
true True
false False
null None
18.서열 화

#     json
student = [
 {"name":"qiyue","age":18, 'flag':False},
 {"name":"python","age":18}
]
json_str = json.dumps(student)
print(type(json_str)) # <class 'str'>
print(json_str) #[{"name": "qiyue", "age": 18, "flag": false}, {"name": "python", "age": 18}]
19.JSON,JSON 대상 과 JSON 문자열
JSON 은 경량급 데이터 교환 형식 이다.
JSON 대상 은 언어 에 국 한 됩 니 다.
JSON 문자열
JSON 만 의 데이터 형식 이 있 습 니 다.
자 바스 크 립 트 와 데이터 형식 이 비슷 하지만 언어 가 아 닙 니 다.
ECMASCRIPT 의 표준 JavaScript ActionScription JSON 이 표준 을 실현 하 는 방안
REST 서비스

총결산
위 에서 말 한 것 은 소 편 이 소개 한 Python 의 정규 표현 식 과 JSON 데이터 교환 형식 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기