简单的python解析字符串,可用于自动化获取字符串内容等,未完待续
stringAnalysis.py: 获取特定字符串后面/中间的内容
import re
class stringAnalysis:
def __init__(self):
self.init = 1
############################### get Value after key #############################################
def getValueAfterKey(self, input, key):
searchObj = re.search( r'(.*)'+key+'(.*?) .*', input, re.M|re.I)
if searchObj:
return searchObj.group(2)
############################### get Value between key ###########################################
def getListValueBetweenKey(self, input, leftKey, rightKey):
arr = re.findall(r"(?<="+leftKey+").*?(?="+rightKey+")",input,re.DOTALL)
return arr
def getValueBetweenKey(self, input, leftKey, rightKey, index=0):
arr = self.getListValueBetweenKey(input, leftKey, rightKey)
if (len(arr) > index):
return arr[index]
############################### 查找()中间的内容 ################################################
def getListValueBetweenParentheses(self, input):
p1 = re.compile(r'[(](.*?)[)]', re.S)
arr = re.findall(p1, input)
return arr
def getValueBetweenParentheses(self, input, index=0):
arr = self.getListValueBetweenParentheses(input)
if (len(arr) > index):
return arr[index]
############################### NUMBER ##########################################################
def getNumerObj(self, input):
numObj = re.search('(\d+).*?(\d+).*?(\d+).*?(\d+).*?(\d+).*?(\d+).*?(\d+).*', input)
return numObj
#index 从1开始
def getNumber(self, input, index=1):
numObj = self.getNumerObj(input)
if (numObj):
return numObj.group(index)