我在解决此问题时遇到问题:http://regexone.com/lesson/13

我试图做类似的事情:(\d+x\d+)
但是为什么它不起作用?无论如何,我们如何使用“分组”?谢谢!

input text  required capturing group result
1280x720    1280, 720
1920x1600   1920, 1600
1024x768    1024, 768

最佳答案

该练习是关于捕获团体的。要求是分别捕获两个数字序列,并跳过x,如下所示:

(\d+)x(\d+)

另一方面,您的解决方案会将整个输入捕获到用括号表示的单个捕获组中。

当您需要处理正则表达式捕获的输入的各个部分而不是处理整个捕获时,捕获组的概念非常重要。在链接的示例中,您可以捕获第一组作为分辨率的水平分量,第二组作为分辨率的垂直分量。如果没有两个单独的捕获组,则需要在代码中找到x,并进行其他拆分。

关于c++ - 关于正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14805313/

10-14 04:15