我用Python编写了一个解析器。为此,我使用正则表达式。但这里有必要去掉一个等号。你知道吗
_PIN_PATTERN = '(^[a-zA-Z]+[0-9]*[:]?[a-zA-Z0-9]*)'
_ATTRIBUTE_PATTERN = '(^[a-zA-Z0-9_]+[0-9]*(\s)*[=](\s)*[a-z0-9.-]+)'
在本例中,_PIN_PATTERN
和_ATTRIBUTE_PATTERN
返回相同的值,例如('ATTRIBUTE', 'ad = 0.013p')
('PIN', 'ad = 0.013p')
。但是_PIN_PATTERN
不应该返回('PIN', 'ad = 0.013p')
,它应该返回类似('PIN', 'VSS:F85')
的内容,即没有等号。你知道吗
这是我代码的一部分
def _is_pin(self, s):
a = re.match(self._PIN_PATTERN, s)
e = re.match(r'=', s)
if a and not e:
return True
else:
return False
你在找这样的东西吗:
相关问题 更多 >
编程相关推荐