Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 雷格斯旺';t检查是否有空间_Java_Regex_Whitespace - Fatal编程技术网

Java 雷格斯旺';t检查是否有空间

Java 雷格斯旺';t检查是否有空间,java,regex,whitespace,Java,Regex,Whitespace,我有这个正则表达式代码: match [a-zA-Z0-9\-\.]+\s?(\.|dot|\(dot\)|-|;|:|,)\s?(com|org|net|cz|co|uk|sk|biz|mobi|xxx|eu|me|io|lt)\b 当有人像这样为自己的服务器做广告时: m c . s e r v e r . c o m 它绕过此消息并将其发送到服务器 那么,如何解决这个问题呢?先谢谢你!:) 我已经做了一个变通方法,您可以使用它首先以正则表达式可以使用的方式格式化文本。我可能会错过一些情

我有这个正则表达式代码:

match [a-zA-Z0-9\-\.]+\s?(\.|dot|\(dot\)|-|;|:|,)\s?(com|org|net|cz|co|uk|sk|biz|mobi|xxx|eu|me|io|lt)\b
当有人像这样为自己的服务器做广告时:

m c . s e r v e r . c o m
它绕过此消息并将其发送到服务器


那么,如何解决这个问题呢?先谢谢你!:)

我已经做了一个变通方法,您可以使用它首先以正则表达式可以使用的方式格式化文本。我可能会错过一些情况,如果是这样的话,只需添加一个注释解释,我将尝试涵盖它

以下是我所做的:

public static void findAd(String text){
    text = text.replaceAll("\\b(\\w) (?!\\w{2,})", "$1");
    text = text.replaceAll("(\\w+)(?:\\. )", "$1.");
    text = text.replaceAll("(\\w+)(?: dot )", "$1.");
    return text;
}
因此,当您调用此方法时,如:

System.out.println( findAd("bla bla bla bla m c . s e r v e r . c o m bla bla bla") );
System.out.println( findAd("m c . s e r v e r . c o m bla bla bla") );
System.out.println( findAd("bla bla bla m c . s e r v e r . c o m") );
System.out.println( findAd("m c . s e r v e r . c o m") );
System.out.println( findAd("m c dot s e r v e r dot c o m") );
System.out.println( findAd("bla bla bla m c dot s e r v e r dot c o m bla") );
您将获得以下输出:

bla bla bla bla mc.server.com bla bla bla
mc.server.com bla bla bla
bla bla bla mc.server.com
mc.server.com
mc.server.com
bla bla bla mc.server.com bla
然后用测试调用表达式,如下所示:

if (yourMethodThatCheckForAd(find(text))) ...
或者只是将我提供的代码添加到现有方法中
:)

请向我们展示代码,并添加一个标记,指定您使用的编程语言[a-zA-Z0-9\-\.]+应该匹配什么?这是Java语言。对不起,我没有源代码。我正在使用插件。[a-zA-Z0-9\-\.]+将匹配.com之前(或smth else)或mc之后的文本。(或smth else)您的
(com | org | net |…)
需要
com
org
net
。。。(没有空格)某处。事实上,
com
(带空格)通过了测试,这意味着发生了其他事情,但如果不知道上下文,就无法判断。你使用的软件是什么?插件的用途是什么?