Java 正则表达式组合

Java 正则表达式组合,java,regex,Java,Regex,在正则表达式中是否可以合并两个验证? 每当在语句中给出一系列8位数字(12345678)以及空格(12345678) 正则表达式应该抛出一个错误。以及字母表和其他特殊字符的验证 例:1234公寓,23楼州234 456(有效) 1234公寓#23building state 1234 5678 overhill(因8位数字的串联/连续而无效) 677(23)层平面,上州56789123英国州(因连续8位数字无效)代码 用法 后果 输入 输出 下面显示了不匹配的字符串 1234 offsho

在正则表达式中是否可以合并两个验证? 每当在语句中给出一系列8位数字(12345678)以及空格(12345678) 正则表达式应该抛出一个错误。以及字母表和其他特殊字符的验证

例:1234公寓,23楼州234 456(有效)

1234公寓#23building state 1234 5678 overhill(因8位数字的串联/连续而无效)

677(23)层平面,上州56789123英国州(因连续8位数字无效)

代码

用法


后果 输入 输出 下面显示了不匹配的字符串

1234 offshore address1234 Some locations

解释
(?:\d*){8}
将一个数字后跟任意数量的空格正好匹配8次

不完全确定您的意思。您需要澄清您的问题,并添加输入和预期输出的示例。这需要更多的样品。还有,你试过什么?不管怎样,
\b(?=[\d]{9})\d+\d+\b
做了你想做的事吗?如果没有提供更多详细信息,我不确定这是一个可以回答的问题,并且担心它将在您的网站上关闭,因为它是@ctwheels,我想他正在寻找这个
“1234 5678离岸某个位置”。replaceAll(“\\s+”,“”)。matches(“[0-9]{8}[a-zA-Z0-9]*”)
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        final String regex = "(?:\\d *){8}";
        final String[] strings = {
            "1234 offshore address1234 Some locations",
            "1234 5678 offshore some location"
        };

        final Pattern pattern = Pattern.compile(regex);

        for (String s: strings) {
            Matcher matcher = pattern.matcher(s);
            if(!matcher.find()) {
                System.out.println(s);
            }
        }
    }
}
1234 offshore address1234 Some locations
1234 5678 offshore some location
1234 offshore address1234 Some locations