Regex 捕获组,该组捕获整个字符串减去与模式匹配的部分

Regex 捕获组,该组捕获整个字符串减去与模式匹配的部分,regex,Regex,我不确定这是否可行,但我想我还是会问的。我需要做的是有效地创建一个搜索/替换,但不使用regex s/pattern1/pattern2/语法,因为它没有直接向我公开 是否可以创建一个捕获组,该捕获组将采用图像路径,图像大小在扩展之前,并删除图像大小 例如converthttp://example.com/path/to/image/filename-200x200.jpg至http://example.com/path/to/image/filename.jpg仅使用捕获组,不使用搜索/替换位

我不确定这是否可行,但我想我还是会问的。我需要做的是有效地创建一个搜索/替换,但不使用regex s/pattern1/pattern2/语法,因为它没有直接向我公开

是否可以创建一个捕获组,该捕获组将采用图像路径,图像大小在扩展之前,并删除图像大小

例如convert
http://example.com/path/to/image/filename-200x200.jpg
http://example.com/path/to/image/filename.jpg
仅使用捕获组,不使用搜索/替换位


我这样问是因为我使用的软件目前没有搜索/替换功能。

这在某种程度上是可能的。除了源文本的连续段之外,没有内置的匹配功能,但您可以解决这个问题

一种方法,你可以考虑使用非捕获组和级联。在正则表达式中,以

?:
开头的组不会被捕获为匹配项

例如,给定正则表达式
(A)(?:B)(C)
和字符串
“AB”
,结果将是:

1. "A"
2. "C"
在你的例子中,你可以捕获你想要忽略的部分,然后连接你想要的部分

给定您提供的字符串,
http://example.com/path/to/image/filename-200x200.jpg
,正则表达式
(.+)(?:-200x200)(.+)
返回:

1. "http://example.com/path/to/image/filename"
2. ".jpg"

然后,您可以添加第一个和第二个捕获组以生成预期结果。

您是否有权访问应用程序的任何代码,或者您是否在某种web应用程序上使用搜索框?