python 정규 표현 식 으로 버 전 정보 일치
정규 표현 식 으로 텍스트 의 버 전 번호 정 보 를 추출 합 니 다. 예 를 들 어 10.1.19.5 10.10.11 과 현재 텍스트 (txt) 에서 읽 고 텍스트 (txt) 에 먼저 정규 표현 식 을 작성 합 니 다.
pattern = Vpat = "I. (I.) * I" 구조 정규 표현 식: r '\ d + \. (?: \ d + \.) * \ d +'
import re
pattern = r'\d+\.(?:\d+\.)*\d+'
f=open("F:\\xxxxxx\\banners.txt","r")
data=f.read()
f.close
result=re.findall(pattern,data)
f1=open("F:\\xxxxxx\\test1.txt","w")
for i in result:
f1.write(i+'
')
f.close
(1) re. match 는 문자열 의 시작 만 일치 합 니 다. 문자열 이 정규 표현 식 에 맞지 않 으 면 일치 하지 않 고 함수 가 None 로 돌아 갑 니 다.일치 하 는 문자열 을 찾 을 때 까지 re. search 는 전체 문자열 과 일치 합 니 다.
(2) findall 은 일치 하 는 모든 결 과 를 꺼 냅 니 다.
(3) 뒤에 있 는 group () 괄호 에 숫자 를 넣 으 면 특정 줄 을 내 보 낼 수 있 습 니 다.
(4) \ d 는 정수
(5) * 는 0 에서 무한 입 니 다. \ # \ # (I.) * 는 0 개 이상 의 정수 가산 점 입 니 다.
(6) '(?:)' 포획 그룹 없 음
일부 규칙 을 하나의 전체 로 서 그것 에 대해 어떤 조작 을 하려 고 할 때, 예 를 들 어 중복 횟수 를 지정 할 때, 당신 은 이 규칙 을 '(?:' 와 ')' 로 포위 해 야 합 니 다. 괄호 만 사용 해 서 는 안 됩 니 다. 그러면 절대 의외 의 결 과 를 얻 을 수 있 습 니 다.
예: 문자열 에서 중복 되 는 'ab' 와 일치 합 니 다.
>>> s=’ababab abbabb aabaab’
>>> re.findall( r’\b(?:ab)+\b’ , s )
결과: ['ababab']
괄호 한 쌍 만 사용 하면 어떤 결과 가 나 올 지 봅 니 다.
>>> re.findall( r’b\(ab)+\b’ , s )
결과: [ab]
괄호 한 쌍 만 사용 하면 한 그룹 (group) 이 되 기 때문이다.그룹의 사용 은 비교적 복잡 하 다.
디 버 깅 과정:
import re
#pattern = r'.*?(\d.*\d).*'
#pattern = r'\d\.\d\.\d'
#pattern = r'\d\.(?:\d\.)*\d'
#pattern = r'\d*\.(?:\d\.)*\d*'
#pattern = r'\d\.(\d\.)*\d'
pattern = r'\d+\.(?:\d+\.)*\d+'
f=open("F:\\shovat\\banners.txt","r")
data=f.read()
##data=f.readline()
f.close
#for line in data:
result=re.findall(pattern,data)
##print(result)
# print(result)
# print(result.group())
#t=(result.group())
#t=(result.group(1))
f1=open("F:\\shovat\\test1.txt","w")
for i in result:
f1.write(i+'
')
f.close
banners.txt
ddd 1.1.1cisco ios software,c3750 software (c3750-ipbase-m),version
ddd 2.2.2 12.2(53)se,release softeware(fc2) 10.1.1
ddd 3.3.3 technical support:http://www.cisco.com/techsupport
ddd 4.4.4 copyright (c) 1986-2009 by cisco systems,inc.
ddd 5.5.5 comiled sun 13-dec-09 16:25 by prod_rel_team
9.5
식별 결과: test 1. txt
1.1.1
2.2.2
12.2
10.1.1
3.3.3
4.4.4
5.5.5
9.5
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.