Python 의 정규 표현 식 과 JSON 데이터 교환 형식
정규 표현 식 은 특수 한 문자 시퀀스 입 니 다.문자열 이 우리 가 설정 한 문자 시퀀스 와 일치 하 는 지,텍스트 를 빠르게 검색 하고 바 꾸 는 작업 을 수행 하 는 지 여부 입 니 다.
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 데이터 교환 형식 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.