java - 我在这个用于 netbeans 的 Java 正则表达式中缺少什么替换

标签 java php netbeans

我想在一个项目中修改几千行,行总是这些格式之一,并且总是在一行的中间。

link() 最多接受 3 个参数,如下所示:

$this->url->link('this/path')
$this->url->link('this/path', '', true)
$this->url->link('this/path', 'something=' . $something, true)
$this->url->link('this/path', 'something=' . $something . '&other=' . $other, true)

我将以下正则表达式放在一起,它可以毫无问题地正确找到我想要的行,如上所示。

// regex
\$this->url->link.*(, true)

我希望能够从行中删除空参数,所以基本上这意味着:

如果参数二和三匹配'', true 删除它们,否则只删除参数三:, true

我试过这些:

\$this->url->link.*(.*)
\$this->url->link.*($1)

最佳答案

如果我理解了您的问题,我会使用 2 种不同的替换操作,一种用于删除 '',true,另一种用于删除 ,true

删除 '', true

搜索:\$this->url->link\((.+), '', true\)
替换:\$this->url->link($1)

这应该取代
= $this->url->link('some/thing', '', true)

= $this->url->link('some/thing')


删除,true

搜索:\$this->url->link\((.+),(.+), true\)
替换:\$this->url->link($1,$2)

这应该取代
=> $this->url->link('some/thing', '可变数据或空', true)

=> $this->url->link('some/thing', '可变数据或空')

也适用于
$this->url->link('some/thingthing', '可变数据', true)
将其替换为
$this->url->link('some/thingthing', '可变数据')

关于java - 我在这个用于 netbeans 的 Java 正则表达式中缺少什么替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47334800/

相关文章:

java - 在范围 bukkit 编码中无法访问该类型的封闭实例

java - 如何获取新创建的文件中的月份总数?

java - jscrollpane 有拖尾图像

php - MySQL GROUP_CONCAT : Formatting the output

ruby - Netbeans:导航 -> 去声明?

java - 如何为 Apache Maven Infoker 插件创建和放置 BeanShell 脚本?

spring - 使用 Maven 构建 Spring 项目时,Netbeans 包括 XML 和属性

java - 在正则表达式或组中授权一个组

php - 如何在codeigniter中创建动态菜单

php - 您的 PHP MySQL 库版本与您的 MySQL 服务器版本不同