使用正则表达式查找数组中的特定匹配项

时间:2017-10-01 19:59:59

标签: python arrays regex

我已经在论坛中搜索了但是没有运气来做我想要通过在数组中搜索正则表达式来实现的目标。我尝试了findallmatch,并对re库进行了过滤,但我无法实现我正在寻找的功能但是使用fnmatch功能我做到了但我知道fnmatch并不像re那样强大。

这是数组的外观:

[0] rule 5 permit sctp source 14.191.156.0 0.0.0.15 destination 201.175.131.64 0.0.0.7
[1] rule 60 permit icmp source 14.191.210.34 0 destination 201.175.137.78 0
[2] rule 61 permit tcp source 14.191.210.34 0 destination 201.175.137.78 0
[3] rule 5000 deny ip

基本上,我想过滤与此正则表达式匹配的规则:

rule* icmp|sctp|udp|tcp* and that end is "deny ip"

1

pattern = re.compile('rule* icmp|sctp|udp|tcp*')
if pattern.search(array)

我可以用fnmatch来做但我必须做四次,因为它不支持或reg表达式(|

if fnmatch(acl[j],'*rule * permit icmp*'):

2

另外,如果以deny ip结束再做一次,我想过滤一下。

pattern = re.compile('deny ip$')

0 个答案:

没有答案
相关问题