Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给定输出的Java正则表达式_Java_Regex - Fatal编程技术网

给定输出的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]部分,谢谢分享