繁体   English   中英

VSCode 通配符搜索和替换正则表达式

[英]VSCode wildcard Search and Replace Regex

我正在尝试进行项目范围的搜索和替换

来自:

drivers[i].findElement(By.id("elementID")).click();

到:

findAndClick(driver[i], "elementID", true)

问题是 elementID 可以是任何东西,所以我试图通配符搜索并替换为通配符中的内容?

在此处输入图片说明

你需要使用.+? 而不是*在这里,因为它使用正则表达式。

在正则表达式中一个点. 表示“任何字符”,加号+表示“一次或多次”,问号? 这意味着“尝试尽可能少地匹配这个” - 这很有用,所以它不会继续匹配超过你的引号

编辑

不过,要清楚的是,您必须创建一个有效的正则表达式,这意味着您需要对括号、点等进行转义。

这是完整的解决方案

查找drivers\\[i\\]\\.findElement\\(By\\.id\\("(.+?)"\\)\\)\\.click\\(\\);

替换为: findAndClick(driver[i], "$1", true)

请注意在“通配符” (.+)周围添加的未转义括号,这会在正则表达式中创建一个捕获组,这在替换中转换为$1 ,因为它是第一个捕获组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM