python 정규 표현 식 으로 버 전 정보 일치

8563 단어
질문 설명:
정규 표현 식 으로 텍스트 의 버 전 번호 정 보 를 추출 합 니 다. 예 를 들 어 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

좋은 웹페이지 즐겨찾기