Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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 如何在Groovy中检查字符串是否与模式匹配_Java_Groovy - Fatal编程技术网

Java 如何在Groovy中检查字符串是否与模式匹配

Java 如何在Groovy中检查字符串是否与模式匹配,java,groovy,Java,Groovy,如何在groovy中检查字符串是否与模式匹配?我的模式是“somedata:somedata:somedata”,我想检查是否遵循此字符串格式。基本上,冒号是分隔符。尝试使用正则表达式,如+:。+:。++ import java.util.regex.Matcher import java.util.regex.Pattern def match = "somedata:somedata:somedata" ==~ /.+:.+:.+/ Groovy正则表达式有一个==~操作符,它将确定字符

如何在groovy中检查字符串是否与模式匹配?我的模式是“somedata:somedata:somedata”,我想检查是否遵循此字符串格式。基本上,冒号是分隔符。

尝试使用正则表达式,如
+:。+:。++

import java.util.regex.Matcher
import java.util.regex.Pattern

def match = "somedata:somedata:somedata" ==~ /.+:.+:.+/

Groovy正则表达式有一个
==~
操作符,它将确定字符串是否匹配给定的正则表达式模式

例子 使用此选项,您可以为示例数据创建正则表达式匹配器,如下所示:

// match 'somedata', followed by 0-N instances of ':somedata'...
String regex = /^somedata(:somedata)*$/

// assert matches...
assert "somedata" ==~ regex
assert "somedata:somedata" ==~ regex
assert "somedata:somedata:somedata" ==~ regex

// assert not matches...
assert "somedata:xxxxxx:somedata" !=~ regex
assert "somedata;somedata;somedata" !=~ regex
请在此处阅读更多信息:

能够通过以下方式解决此问题:


myString.matches(“\S+:\S+:\S+”)

Groovy中的否定正则表达式匹配应该是

 String regex = /^somedata(:somedata)*$/   
 assert !('somedata;somedata;somedata' ==~ regex)  // assert success!

旧的groovy.codehouse.org网站已过期。试试这个:“assert not matches”示例应该如下所示:
assert!(“somedata:xxxxxxxx:somedata”==regex)
<代码>=~不是否定正则表达式匹配的有效运算符:@Joman68-刚刚在这里尝试过(Groovy 2.4.8)-代码工作正常。你试过了吗?你能提供一个可复制的例子吗?@NickGrealy可复制的例子:另请参阅并寻求帮助。不使用建议。A+
 String regex = /^somedata(:somedata)*$/   
 assert !('somedata;somedata;somedata' ==~ regex)  // assert success!