相关疑难解决方法(0)

具有可变数量的组的正则表达式?

是否可以创建具有可变数量的组的正则表达式?

例如运行之后......

Pattern p = Pattern.compile("ab([cd])*ef");
Matcher m = p.matcher("abcddcef");
m.matches();
Run Code Online (Sandbox Code Playgroud)

...我想有类似的东西

  • m.group(1) = "c"
  • m.group(2) = "d"
  • m.group(3) = "d"
  • m.group(4)= "c".

(背景:我正在解析一些数据行,其中一个"字段"正在重复.我想避免matcher.find这些字段的循环.)


正如@Tim Pietzcker在评论中指出的那样,perl6.NET都有这个功能.

java regex

28
推荐指数
2
解决办法
2万
查看次数

正则表达式以选择重复组

我有一系列遵循特定格式的分组值,并希望使用单个表达式将它们捕获到组中.例如,我已经-group1 -group2 -group3尝试使用类似的东西.(-[\s\S]{1,}?) 这基本上允许我将整个字符串捕获到一个组中,但我希望能够分别反向引用每个值.我认为这?将迫使它非贪婪,因此,将模式匹配分成三个独立的组(例如).现在我只是重复参考,(-[\s\S]*?)但似乎应该有一个更优雅的表达.
谢谢!

.net regex

7
推荐指数
1
解决办法
3931
查看次数

我如何重复正则表达式

我有以下正则表达式:

"(.+?)",.+?},\s.+?:\s
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以重复此正则表达式,因此我不需要像这样多次编写它:

"(.+?)",.+?},\s.+?:\s"(.+?)",.+?},\s.+?:\s"(.+?)",.+?},\s.+?:\s
Run Code Online (Sandbox Code Playgroud)

regex

1
推荐指数
1
解决办法
2051
查看次数

标签 统计

regex ×3

.net ×1

java ×1