如何使“在线”搜索更加精确?

时间:2019-07-28 10:04:53

标签: python parsing

我试图解析包含相似结构的一行,并根据内容返回TrueFalse

是否可以在不使用正则表达式的情况下使“内联”搜索更加严格?

我想做类似的事情:

line = "nios2 arm64"

if "arm" in line:
   print("Not here!")
#because arm and arm64 are different

line = "arm arm64 nios2"

if "arm64" in line:
     print("Here!")

简而言之,我想使其与完整模式匹配,因为当前如果一行中有arm64,而我正在寻找arm关键字,则它返回正结果,而对于{{ 1}}在arm64行中搜索。

2 个答案:

答案 0 :(得分:2)

if "arm" in line.split(' ')应该可以工作。

答案 1 :(得分:0)

这是正则表达式实际上有用的罕见(我认为...)情况之一:

import re

line1 = "nios2 arm64"
line2 = "arm arm64 nios2"
pattern1 = r'\barm\b'
pattern2 = r'\barm64\b'

print(re.search(pattern1, line1))
print(re.search(pattern1, line2))
print(re.search(pattern2, line1))
print(re.search(pattern2, line2))

输出:

None
<re.Match object; span=(0, 3), match='arm'>
<re.Match object; span=(6, 11), match='arm64'>
<re.Match object; span=(4, 9), match='arm64'>