代码之家  ›  专栏  ›  技术社区  ›  CodingInTheUK

netbeans替换的java正则表达式中缺少了什么

  •  2
  • CodingInTheUK  · 技术社区  · 8 年前

    我想在一个项目中改变数千行,行始终是这些格式之一,并且始终位于行的中间。

    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)
    

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

    ''没错 删除它们,否则只删除参数3: ,true

    我试过这些:

    \$this->url->link.*(.*)
    \$this->url->link.*($1)
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   CodingInTheUK    8 年前

    如果我理解你的问题,我会使用两种不同的替换操作,一种是删除 '',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', 'variable data or empty', true)
    具有
    => $this->url->link('some/thing', 'variable data or empty')

    也适用于
    $this->url->link('some/thingthing', 'variable data', true)

    $this->url->link('some/thingthing', 'variable data')