我正在尝试为捕获或hostname
创建一个正则表达式IP
,并在#
之后忽略任何内容
数据
192.168.0.41 #obs
SRVNET #obs
192.168.0.4 #obs
正则表达式
^(([1]?[0-9]{1,2}|2([0-4][0-9]|5[0-5])).){3}([1]?[0-9]{1,2}|2([0-4][0-9]|5[0-5]|[a-z]))$
在注释模式的第一部分中,您正在匹配[^#]+
这是一个否定的字符类,也将匹配一个空格。
由于您不想匹配空格,因此可以向其添加s
以不匹配空格字符。
整场比赛被包装在第 1 组中,但由于这是唯一的比赛,您可能会使其无法捕获(?:
请注意,您必须转义点才能从字面上匹配它,并且[1]
与 1 相同。
^(?:[^#s]+)|^((1?[0-9]{1,2}|2([0-4][0-9]|5[0-5])).){3}(1?[0-9]{1,2}|2([0-4][0-9]|5[0-5]))$
^^ ^^ ^^
正则表达式演示