首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual :使用正则表达式查找/替换

Visual :使用正则表达式查找/替换
EN

Stack Overflow用户
提问于 2016-01-22 22:33:19
回答 1查看 65关注 0票数 1

我正在使用visual studio的查找/替换工具来查找使用正则表达式的内容,并进行替换。我在“查找:Assert.IsTrue\(([^,;]*)\) *;和替换Assert.IsTrue($1, "$1");”中找到了这一点,因此它所做的是查找括号中除了逗号,和分号;之外的任何内容的每个Assert.IsTrue();,然后在引号和逗号,之后添加括号中的任何内容。所以,如果我有Assert.IsTrue(wtv),它将被Assert.IsTrue(wtv,"wtv")取代。

问题是当wtv有引号或断线时,所以如果我有

Assert.IsTrue("wtv" == "wtv")将被替换为

Assert.IsTrue("wtv" == "wtv", ""wtv" == "wtv"")

代码语言:javascript
运行
复制
Assert.IsTrue(wtv ||
wtv2)

将被替换为

代码语言:javascript
运行
复制
Assert.IsTrue(wtv ||
wtv2, "wtv ||
wtv2")

。我想要做的是删除替换中的,新行\r和引号,所以替换后的结果是

Assert.IsTrue("wtv" == "wtv", "wtv == wtv")

代码语言:javascript
运行
复制
Assert.IsTrue(wtv ||
    wtv2, "wtv ||wtv2")  
EN

回答 1

Stack Overflow用户

发布于 2016-01-24 21:29:20

首先,我要澄清的是,这并没有真正解决问题,只是一个讨厌的工作,而不是一个真正的解决方案。我把它贴出来,以防有人像我一样需要工作(我对此表示怀疑,但很好)。然而,由于这不是真正的答案,我不会把它标记为这样(除非有人解释它不可能是一个真正的答案),新的答案总是受到欢迎的。

我所做的是,在需要regex的部分中添加几个组,([^,;"\r\n]*)首先查找不是逗号、分号、引号或新行的任何内容,然后查找(["\r\n]*)新行或分号,然后重复这个模式几次。

所以,当它使用*时,它会看到它是否发生了0次或更多次,并且在出现不止一个逗号或多个新行的情况下重复了几次(注意,如果没有,那就没有问题了,因为我使用的是*)。而且,替换看起来就像

代码语言:javascript
运行
复制
Assert.IsTrue($1$2$3..., "$1$3$5...");

在第一个参数中,我放了所有的数字,在引号中,我只放了奇数,因为偶数不是不存在,就是引号/新行。

我使用了其中的31种,所以如果有超过15组逗号/新行,就不会被找到并替换“查找”。

代码语言:javascript
运行
复制
Assert.IsTrue\(([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)(["\r\n]*)([^,;"\r\n]*)\) *;

替换

代码语言:javascript
运行
复制
Assert.IsTrue($1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21$22$23$24$25$26$27$28$29$30$31, "$1$3$5$7$9$11$13$15$17$19$21$23$25$27$29$31");

这适用于我提供的例子,对于少于15组逗号/新行的例子,如果我能想出更好的解决方案(因为这是一个非常糟糕的解决方案),我将在这里添加它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34957070

复制
相关文章

相似问题

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