给定输出的Java正则表达式
我有下一个给定的输出:给定输出的Java正则表达式,java,regex,Java,Regex,我有下一个给定的输出: 1: IP4 1.1.1.1 255.0.0.0 1.255.255.255 127: IP6 fd55:faaf:e1ab:215d:0:0:0:103/64 fe80::7699:75ff:fec8:427e 128: IP4 10.241.6.103 255.255.255.128 10.241.6.127 我想要一个正则表达式,它将匹配第1、2和3行,
1: IP4 1.1.1.1 255.0.0.0 1.255.255.255
127: IP6 fd55:faaf:e1ab:215d:0:0:0:103/64
fe80::7699:75ff:fec8:427e
128: IP4 10.241.6.103 255.255.255.128 10.241.6.127
我想要一个正则表达式,它将匹配第1、2和3行,而不会匹配第三行
正则表达式应该是这样的:
行必须以0到999之间的数字开头,后跟:,然后是一些空格,后跟IP4或IP6字,以及行的其余部分,直到\n不重要为止 使用以下正则表达式:
\d{1,3}:\s+IP[46].*[0-9]
简单解释如下:
\d{1,3}与数字0-999中的1、2或3位匹配
:匹配:字面意思
\s+至少匹配一个空格
IP[46]与IP4或IP6匹配。[46]匹配组中的一个字符。
.*[0-9]匹配所有以数字结尾的剩余部分。
有关详细说明,请访问此网站:。不要忘记在Java中使用双转义\\,这是一个常见的错误
\\d{1,3}:\\s+IP[46].*[0-9]
那么你想要两个问题?@chrylis我的第二个问题在哪里?类似于/^\d{1,3}:\s+IP[46]/?@PhilippPalmtag,这个问题已经有了一个选择的答案。问题已解决。不知道IP[46]部分,谢谢分享