使用RegEx匹配参数中的模式

时间:2014-10-08 20:51:14

标签: python regex

我想将IP地址作为参数传递给Python脚本,并使用正则表达式检查所提供的IP地址的格式,但是在尝试运行脚本时收到错误。

脚本如下:

from sys import argv

import re

script, ip_address, client_name, printer_model, hostname, mac_address = argv

ip_check=re.compile("^(10)\.(0)\.[0-9]?[0-9]?[0-9]\.[0-9]?[0-9]?[0-9]$") 

if ip_check.match(ip_address)

else     return "Invalid IP address" 

endif

每次我尝试运行脚本时,都会收到:

if ip_check.match(ip_address)
                             ^ SyntaxError: invalid syntax

知道发生了什么事吗?在使用RegEx进行分析之前,是否需要将ip_address转换为原始数据?

1 个答案:

答案 0 :(得分:0)

from sys import argv

import re

script, ip_address, client_name, printer_model, hostname, mac_address = argv

ip_check=re.compile(r"^(10)\.(0)\.[0-9]?[0-9]?[0-9]\.[0-9]?[0-9]?[0-9]$") 

if ip_check.match(ip_address):

    continue

else:
     return "Invalid IP address" 

试试这个。使用r模式创建模式,:使用ifelse