首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex存储两个不同字符之前和之后的文本

问使用regex存储两个不同字符之前和之后的文本
EN

Stack Overflow用户
提问于 2016-04-14 00:27:36
回答 1查看 175关注 0票数 0

我有一系列具有这种格式的文件:

01x05e -一些文本(更多的文本) 01x05f -一些文本(更多的文本) 01x05g -一些文本(更多的文本)

我想要的是剥去他们的衣服来制作这个:

01x05e -更多的文本 01x05f -更多的文本 01x05g -更多的文本

为此,我使用了大容量重命名实用程序。我想我可以用它来做这个:

代码语言:javascript
复制
-.*?\(

这成功地匹配了"-“和"(”)之间的所有内容。我希望可以使用它删除所有的文本,然后要求大容量重命名实用程序对每个文件名(即“)”中的最终字符进行非常琐碎的删除。

但是,在批量重命名实用程序中,我不能仅仅匹配文本并将其替换为没有内容来删除它。相反,我必须指定一个替换标准,而我输入的任何内容似乎都不起作用。每当我在“替换”部分中输入任何数据时,它只会擦除我的所有文件名。

这使我认为我需要以不同的方式处理正则表达式,找到某种方法在"-“之前获取数据,并在"(”和")“之间抓取数据,并将它们放在一起。

然而,我甚至不知道如何开始这样做。这是正确的方法,还是我遗漏了一些明显的关于匹配和替换我目前的正则表达式的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-14 00:50:31

大容量重命名实用程序有一个支持网站,包括一个论坛,其中包括一个提供regex重命名支持的部分,这里。

似乎您想要捕获从第一个paren (打开)到最后一个paren (关闭),并删除第一个连字符之后的所有内容。捕获组是您的朋友:

代码语言:javascript
复制
^([^-]* -)   - This will match from start to first hyphen after space.

[^(]*    - This will match everything except open paren.

\((.*)\)$ - This will match things inside the parens.

你可以把它们放在一起:

代码语言:javascript
复制
^([^-]* -)[^(]*\((.*)\)$

代之以第一组和最后一组:

代码语言:javascript
复制
\1 \2
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36611791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档