regex - 正则表达式 - 在匹配字符串后定位第一个 ')'
问题描述
我正在我的 C# 代码库中进行质量方法替换。我的代码行如下所示:
Assert.That(Edit.FundsTable.GetCellByIndexes(0, 2).Text.Contains("Employer Request IPM A"));
问题是,最初调用 GetCellByIndexes 时,我们有另一个方法基本上做同样的事情,让我们以两种方式完成完全相同的任务。我们将其更改为更标准的方式如下:
Assert.That(Edit.FundsTable.Cells[0, 2].Text.Contains("Employer Request IPM A"));
我正在尝试进行 VS 替换所有替换以将 GetCellByIndexes 调用移动到 Cells 调用。问题在于正确的参数。我可以全部替换
GetCellByIndexes(
至
Cells[
非常简单地。问题是将方法调用的右参数更改为方括号。有谁知道如何使用正则表达式识别“GetCellByIndexes”字符串之后的第一个正确参数?
解决方案
利用
GetCellByIndexes\(([^()]+)\)
替换为Cells[$1]
。见证明。
代码 | 解释 |
---|---|
GetCellByIndexes | 'GetCellByIndexes' |
\( |
'(' |
( |
分组并捕获到 $1: |
[^()]+ |
任何字符,除了:'(', ')'(1 次或多次(匹配尽可能多的数量)) |
) |
1美元结束 |
\) |
')' |
推荐阅读
- laravel - 如何解决 Class pusher 不存在错误?
- bash - 如何从远程本地运行脚本,但在某些时候继续在本地服务器上运行脚本?
- android - 访问被拒绝查找属性 net.dns1 使用相机拍摄照片
- javascript - 是否可以根据路由激活影响 html 标记的 css 类?
- javascript - 有向无环层次图实现
- node.js - 使用 HttpService 导出为 CSV:JSON 中的意外令牌 N
- php - 当我选择值形式 dropdwon 时,php $_Post['name'] 中没有显示?
- java - java中没有任何参数的注释是什么意思?
- python - 如何计算python中数据框列的所有值的滚动平均值
- php - MySQL PHP在具有varchar值的重复键上插入更新