首页 新闻 会员 周边

请问现在有什么技术可以识别文本中的类似pattern?

0
悬赏园豆:10 [已解决问题] 解决于 2018-08-31 11:01

比如下面的命令,由“!”分开,都是对access-list进行多项设置,虽然不是完全一样,但比较类似,所以这两个设定可以看作是一个类似pattern。
我想知道现在有什么技术可以做这种文本的类似pattern识别,请大家告诉我,我在这里等你们。^_^

!
ipv6 access-list NAME1
1 permit ipv6 host ffff::0000:0001 any
2 permit ipv6 host ffff::0000:0002 any
1111111 deny ipv6 any any
!
ipv6 access-list NAME2
14 permit ipv6 host ffff::0000:0006 any
15 permit ipv6 host ffff::0000:0007 any
!
interface INTERFACENAME1/0/1
description comment
no switchport
bandwidth 1000
ip address 11.17.1.12 255.255.255.1
ip broadcast-address 11.17.1.12
ip access-group 30 in
ip access-group 11 out
delay 10
speed 10
duplex full
no mdix auto
no cdp enable
!
interfaceINTERFACENAME2
no cdp enable
!
interface INTERFACENAME3
no cdp enable
!
interface INTERFACENAME4
no cdp enable
!
interface INTERFACENAME5
no cdp enable
!
interface INTERFACENAME6
no cdp enable
!
interface INTERFACENAME7
no cdp enable
!
interface INTERFACENAME8
no cdp enable
!

芽衣的主页 芽衣 | 菜鸟二级 | 园豆:384
提问于:2018-08-16 18:15

你的命令只用"!"分隔吗?还有别的符号吗?如果可以多贴一点命令的代码

Mad_Rabbit 5年前

@Mad_Rabbit: 你好!只用"!"分隔,但是如果就算没有分隔符也可以识别pattern的话就更好了。
我修改了问题内容,更多的命令代码贴在上面了。

芽衣 5年前
< >
分享
最佳答案
1

我可能也会选择使用正则表达式,把类似的文本用表达式去匹配。

1.我先把'no cdp enable'这种排除掉,这种是固定的,可以直接使用。

2.我把ipv6 access-list NAME1写成ipv6 access-list NAME[1-9],14 permit ipv6 host ffff::0000:0006 any写成

  [1-9]{2} permit ipv6 host ffff::0000:000[1-9] any

然后把正则表达式去匹配文本

收获园豆:9
Mad_Rabbit | 菜鸟二级 |园豆:307 | 2018-08-24 10:01

你好~!谢谢你的详细回复~!
如果这种内容非常多(100万行左右)的话,也是需要逐行写出对应的正则表达式吗?

芽衣 | 园豆:384 (菜鸟二级) | 2018-08-24 14:19
其他回答(2)
1

文本和 Pattern 这两个东西一组合,程序员第一时间想到的就是 regex

收获园豆:1
爱编程的大叔 | 园豆:30839 (高人七级) | 2018-08-17 09:12

你好!爱编程的大叔!谢谢你的讯息,根据你的讯息我再在网络上查询一下相关资料。^_^

支持(0) 反对(0) 芽衣 | 园豆:384 (菜鸟二级) | 2018-08-17 19:48
0

你这是要做转换吗?

新的开始 | 园豆:679 (小虾三级) | 2018-08-17 19:21

你好!没有要转换,只是想知道一个文本里面有多少类似的 patten。

支持(0) 反对(0) 芽衣 | 园豆:384 (菜鸟二级) | 2018-08-17 19:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册