python 정규 표현 식 문자열 에서 숫자 를 추출 하 는 사고방식 상세 설명

python 문자열 에서 숫자 추출
정규 표현 식 을 사용 합 니 다.용법 은 다음 과 같 습 니 다.

##   
## ^         。
## $         。
## \b          。
## \d       。
## \D          。
## x?         x    (   ,    1     0   x   )。
## x*   0      x   。
## x+   1      x   。
## x{n,m}    x   ,   n  ,   m  。
## (a|b|c)      a,     b,     c。
## (x)              (remembered group)。      re.search         groups()        。
##                “       ”
문제 풀이 방향:
숫자 를 추출 하 는 이상 숫자의 형식 은 보통 정수,소수,정수 에 소 수 를 더 하 는 것 이다.
그래서 일반적으로 다음 과 같다.
위 정규 표현 식 의 의미 에 따라 다음 과 같은 표현 식 을 쓸 수 있 습 니 다.\\d+\?\d*";
\d+는 한 번 또는 여러 번 의 숫자 와 일치 합 니 다.여기 서*로 쓰 지 마 십시오.소수 라 도 소수점 전에 숫자 가 있어 야 하기 때 문 입 니 다.\?이것 은 소수점 과 일치 하 는 것 입 니 다.있 을 수도 있 고 없 을 수도 있 습 니 다.\d*이것 은 소수점 뒤의 숫자 와 일치 하기 때문에 0 개 이상 입 니 다.
코드 는 다음 과 같 습 니 다:

import re
string="A1.45,b5,6.45,8.82"
print re.findall(r"\d+\.?\d*",string)
# ['1.45', '5', '6.45', '8.82']
지정 한 문자열 의 시작 과 일치 하 는 숫자
예 를 들 어 아래 string:

tensorflow:Final best valid   0 loss=0.20478513836860657 norm_loss=0.767241849151384 roc=0.8262403011322021 pr=0.39401692152023315 calibration=0.9863265752792358 rate=0.0
   calibration=0.9863265752792358 .
#   “calibration=”     
pattern = re.compile(r'(?<=calibration=)\d+\.?\d*')
pattern.findall(string)
# ['0.9863265752792358']
在这里插入图片描述
지정 한 문자열 의 시작 을 포함 하 는 숫자 와 일치 합 니 다.

pattern = re.compile(r'(?:loss=)\d+\.?\d*')
pattern.findall(string)
# ['loss=0.20478513836860657', 'loss=0.767241849151384']
在这里插入图片描述
매 칭 시간,17:35:24

string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"
pattern = re.compile(r'\d{2}:\d{2}:\d{2}')
pattern.findall(string)
# ['15:28:39']
매 칭 시간,20181011 15:28:39

string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"
pattern = re.compile(r'\d{4}\d{2}\d{2}\s\d{2}:\d{2}:\d{2}')
pattern.findall(string)
# ['20181011 15:28:39']
총결산
위 에서 말 한 것 은 소 편 이 소개 한 python 정규 표현 식 입 니 다.문자열 에서 숫자 를 추출 하 는 사고 에 대한 상세 한 설명 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기