python - 如何判断自己编写的正则表达式足够精确或最优?
PHPz
PHPz 2017-04-17 17:55:46
0
2
572

在使用python的正则表达式时,对一些配置文件进行查找匹配。总觉得自己写的不是最优,但又可用。

比如如下

 interface Vlan100
 ip address 10.212.44.129 255.255.255.128 secondary

目的是匹配出IP地址和掩码来,其中IP地址和掩码均不固定。

^sipsaddresss(?:d+.){3}d+s(?:d+.){3}d+ssecondary

我使用上面的表达式可以得到结果,然后做一些split之类的得到IP地址和掩码。
但作为一个强迫症来说,总觉得不够完美。请教下如何判断自己的表达式是最优的(不限于上面这个,上面的只是举例)

PHPz
PHPz

学习是最好的投资!

répondre à tous(2)
Ty80

Visuellement, vos données sont très standardisées et régulières, il n'y aura donc pas de données anormales, alors une simple correspondance régulière pourra être faite

address\s([\d.]+)\s([\d.]+)\ssecondary

La première sous-expression est ip et la deuxième sous-expression est mask.

Je ne connais pas Python, donc je ne peux pas vous écrire d'exemple py, mais cette expression régulière est universelle.

左手右手慢动作

En fin de compte, générez simplement suffisamment d’ensembles de tests aléatoires et réussissez. . .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal