Java 正则表达式 : match all reocurring sequences in a string

标签 java regex

我阅读了一些示例来匹配字符串中序列的所有出现,但我在这个示例中遇到了一些困难。我想按如下方式匹配表达式:

"test"-a-"test2"-b-"test3" ...//can alternate like this for any number of times

当我在上面的示例上测试我的代码时,它可以工作,但是当我尝试下面的示例时,它告诉我匹配成功,但我不希望它成功。

"test"-a-"test2"-b"test3"  //this is successful but I want it to fail

我使用的正则表达式是:

^ ( ( \ " ( . * ) ? \ " ) * \ \  - ( [ a - z ] ) \ \ - \ " ( . * ) ? \ " ) + $ ;

最佳答案

您可以使用此正则表达式

Pattern p = Pattern.compile("^(\"[^\"]+?\"-[a-z]-)+\"[^\"]+?\"$");

正如您所说:“它以引号中的一串字符开头,然后是一个由减号包围的小写字母,并且必须以引号中的一串字符结尾”。

关于Java 正则表达式 : match all reocurring sequences in a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039756/

相关文章:

java - 如果文件存在于目录中,我如何覆盖它

java - 将连续的字符串数据拆分为所需的垂直输出

ruby - 如果第一个字符是 Ruby 中的大写字母,如何删除前 3 个字符

.net - 使用正则表达式查找匹配的括号

sql - 如何忽略列值上的字符串的一部分

java - 在 Android 的 ListView 中选择项目

java - 从 thymeleaf 复选框设置 java.util.Set 的值

java - 来自 svg 的 getelementbyId 是 id ="' @data[]"

java - 带有内部嵌套 ScrollView 的 Recyclerview?

c# - C# 中包含内部空格的姓氏正则表达式