Bat*_*man 12 regex visual-studio-code
我正在尝试进行项目范围的搜索和替换
从:
drivers[i].findElement(By.id("elementID")).click();
Run Code Online (Sandbox Code Playgroud)
至:
findAndClick(driver[i], "elementID", true)
Run Code Online (Sandbox Code Playgroud)
问题是elementID可以是任何东西所以我试图通配符搜索并替换为通配符中的内容?
CBa*_*arr 26
你需要使用.+?而不是在*这里,因为它使用正则表达式.
在正则表达式中,点.表示"任何字符",加号+表示"一次或多次",而?此后的问号表示"尝试尽可能少地匹配" - 这很有用,因此不会保持匹配超过你的引号
要清楚,你必须制作一个有效的正则表达式,这意味着你需要逃避括号,点等.
这是完整的解决方案
查找:drivers\[i\]\.findElement\(By\.id\("(.+?)"\)\)\.click\(\);
用...来代替: findAndClick(driver[i], "$1", true)
请注意,在"通配符"周围添加了未转义的括号,(.+)这会在正则表达式中创建一个捕获组,这是$1替换中的转换,因为它是第一个捕获组.
| 归档时间: |
|
| 查看次数: |
12539 次 |
| 最近记录: |