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

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

Stack Overflow用户
提问于 2016-01-22 14: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
运行
AI代码解释
复制
Assert.IsTrue(wtv ||
wtv2)

将被替换为

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

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

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

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

回答 1

Stack Overflow用户

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

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

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

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

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

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

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

代码语言:javascript
运行
AI代码解释
复制
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
运行
AI代码解释
复制
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

复制
相关文章
React技巧之检查元素是否可见
原文链接:https://bobbyhadz.com/blog/react-check-if-element-in-viewport[1]
chuckQu
2022/08/19
1.1K0
js判断元素在某个区域内是否可见(转)
getBoundingClientRect用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。getBoundingClientRect是DOM元素到浏览器可视范围的距离(不包含文档卷起的部分)。
山河木马
2019/03/05
7.7K0
CSS样式更改——多列、元素是否可见、图片透明度
上篇文章主要讲述了CSS样式更改中的过渡、动画基础知识,这篇文章我们来介绍下CSS样式更改中多列、元素是否可见、图片透明度知识。。
前端皮皮
2020/11/25
1.1K0
selenium元素定位中css或者xpath不选择某一类元素
例如,下列标签中,不选择class为disable的span标签 则 这样写 dd:not(.disabled) > span 或者 dd:not(.disabled) span
小黑同学
2020/08/16
1.9K0
selenium元素定位中css或者xpath不选择某一类元素
小程序中点击子元素事件而不触发父元素的点击事件
在测试小程序的时候,发现了这样的一个bug,点击子元素事件d的时候触发父元素的点击事件,从而执行父级的点击事件,跳转到了父级的点击事件的页面了。
王小婷
2019/02/21
6.1K0
小程序中点击子元素事件而不触发父元素的点击事件
win10 uwp 弹起键盘不隐藏界面元素
本文主要讲,在我们使用手机输入的时候,会因为手机的虚拟键盘隐藏了一些界面的元素。我们有一个简单的方法让虚拟键盘不隐藏界面元素。
林德熙
2018/09/18
7150
win10 uwp 弹起键盘不隐藏界面元素
内存可见性
可见性:当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。如果没有同步,这种情况就无法实现。 下面的代码说明了当多个线程在没有同步的情况下共享数据时出现的错误。在代码中,主线程和读线程都会访问共享变量ready和number。很显然代码看起来会输出42,但事实上肯可能输出0(重排序导致),甚至根本无法终止。这是因为代码中没有足够的同步机制,因此无法保证主线程写入ready和number对读线程是可见的。 public class NoVisibility{     private static b
SuperHeroes
2018/05/31
8360
【Java线程】线程安全三元素:原子性、可见性、有序性
首先大家需要思考一下何为线程安全性呢??? 《Java并发编程实战》书中给出定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在调用代码中不需要任何额外的同步,这个类都能表现出正确的行为,那么这个类就是线程安全的。
沁溪源
2021/03/22
4440
光敏电阻遇上日夜切换
光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低,亮电阻值可小至1KΩ以下。光敏电阻对光线十分敏感,其在无光照时,呈高阻状态,暗电阻一般可达1.5MΩ。光敏电阻的特殊性能,随着科技的发展将得到极其广泛应用。
AomanHao
2022/01/14
4530
光敏电阻遇上日夜切换
爬虫实现csdn文章一键(批量)更换阅读类型(全部可见、粉丝可见、vip可见)
“ 动手创造美好” - bigsai
bigsai
2019/09/24
2.7K0
爬虫实现csdn文章一键(批量)更换阅读类型(全部可见、粉丝可见、vip可见)
对象可见性
此引出 Java 的一个一般设计原则——对象默认可见。如果我有一个对象的引用,就可以复制一个副本,然后将其交给另一个线程,不受任何限制。Java 中的引用其实就是类型指针,指向内存中的一个位置,而且所有线程都共用同一个地址空间,所以默认可见符合自然规律。
宇宙之一粟
2020/11/24
4780
【C语言笔记】ASCII码可见字符与不可见字符
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。下面看一段示例代码,用于输出ASCII码:
正念君
2019/06/26
4.7K0
【C语言笔记】ASCII码可见字符与不可见字符
github设置仓库可见性 私人仓库设置他人协作/可见
GitHub.com 的所有人访问,而私有仓库只有您和您与其共享的人员可访问。 内部仓库适用于 GitHub Enterprise Cloud 并且只有企业帐户的成员可访问。 更多信息请参阅“创建内部仓库”。
种花家的奋斗兔
2020/11/13
19.3K0
github设置仓库可见性  私人仓库设置他人协作/可见
PostgreSQL vacuum可见性
2)该tuple是当前事务产生的:此时这个记录在这个事务未删除或只是被锁住或进行了delete但是delete abort了,那返回HAPTUPLE_INSERT_IN_PROGRESS;若则记录又被删除了,那返回HEAPTUPLE_DELETE_IN_PROGRESS
yzsDBA
2020/10/28
4930
PostgreSQL vacuum可见性
Volatile 可见性承诺
Java Volatile 关键字是一种轻量级的数据一致性保障机制,之所以说是轻量级的是因为 volatile 不具备原子性,它对数据一致性的保障体现在对修改过的数据进行读取的场景下(也就是数据的可见性)。比起对读操作使用互斥锁, volatile 是一种很高效的方式。因为 volatile 不会涉及到线程的上下文切换,以及操作系统对线程执行的调度运算。同时 volidate 关键字的另一个功能是解决“指令重排序问题”。
不会飞的小鸟
2020/03/17
6950
Typecho回复可见功能
最近逛博客,发现大家的博客都有回复可见的功能 回到我的博客一看发现没有,这可不得行 于是我也整了一个233,顺便分享给大家
HCG_Sky
2020/07/24
2.3K2
Unicode不可见字符
不可见字符”\u200b”为 Unicode Character ‘ZERO WIDTH SPACE’ (U+200B),可用于内容标识,不占位数。
周小董
2019/03/25
5.6K0
Unicode不可见字符
Android可见APP的不可见任务栈(TaskRecord)销毁分析
Android依托Java型虚拟机,OOM是经常遇到的问题,那么在快达到OOM的时候,系统难道不能回收部分界面来达到缩减开支的目的码?在系统内存不足的情况下,可以通过AMS及LowMemoryKiller杀优先级低的进程,来回收进程资源。但是这点对于前台OOM问题并没有多大帮助,因为每个Android应用有一个Java内存上限,比如256或者512M,而系统内存可能有6G或者8G,也就是说,一个APP的进程达到OOM的时候,可能系统内存还是很充足的,这个时候,系统如何避免OOM的呢?ios是会将不可见界面都回收,之后再恢复,Android做的并没有那么彻底,简单说:对于单栈(TaskRecord)应用,在前台的时候,所有界面都不会被回收,只有多栈情况下,系统才会回收不可见栈的Activity。注意回收的目标是不可见栈(TaskRecord)的Activity。
看书的小蜗牛
2019/02/22
1.5K0
Android可见APP的不可见任务栈(TaskRecord)销毁分析
点击加载更多

相似问题

硒python使不可见元素可见。

14

硒元素不可见

12

元素不可见,硒

12

硒元素不可见?

32

不可识别为可见的硒可见元素

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文