Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 将空格缩进替换为制表符(PCRE)_Regex_Pcre - Fatal编程技术网

Regex 将空格缩进替换为制表符(PCRE)

Regex 将空格缩进替换为制表符(PCRE),regex,pcre,Regex,Pcre,我想演示一下我可以用制表符替换空格缩进,但只能替换每行的前导空格 我想我可以通过改变后面的宽度来实现这一点。不幸的是,这在PCRE中是不允许的 s/(?<=^|(?:[ ]{3})+)[ ]{3}(?=\S|(?:[ ]{3})+\S)/\t/g s/(?)? 将2替换为4,保留4个空格等 \G匹配上一个匹配停止的位置(如果没有上一个匹配,则在字符串开头匹配)。什么编程语言?没有编程语言,只有PCRE。这意味着(PHP、Perl、regex101等)Perl不使用PCRE。但是Perl只

我想演示一下我可以用制表符替换空格缩进,但只能替换每行的前导空格

我想我可以通过改变后面的宽度来实现这一点。不幸的是,这在PCRE中是不允许的

s/(?<=^|(?:[ ]{3})+)[ ]{3}(?=\S|(?:[ ]{3})+\S)/\t/g
s/(?)?
将
2
替换为
4
,保留4个空格等


\G
匹配上一个匹配停止的位置(如果没有上一个匹配,则在字符串开头匹配)。

什么编程语言?没有编程语言,只有PCRE。这意味着(PHP、Perl、regex101等)Perl不使用PCRE。但是Perl只有在与PCRE兼容并且PCREI中没有
e
时才与PCReaceptable兼容。我真的应该更了解这件事
\G
  if (c == 1&d == 2){
    for (uinc = 1;uinc< = p1;uinc++){  // for fixed u calculate various w's
      if (1.0-u<5e-6)u = 1.0; // fix up the u = 1 value because of float
      w = 0.0;
      for (winc = 1;winc< = p2;winc++){
        if (1.0-w<5e-6)w = 1.0; // fix up the w = 1 value because of float
        for (i = 0;i< = n;i++){
          jin = Basis(n,i,u); // Bernstein basis function in the u direction (see Eq.(5.2))
          if (jin! = 0.){ // don't bother no contribution
            jbas = 3*(m+1)*i; /* column index for lineal array*/
            for (j = 0;j< = m;j++){
              kjm = Basis(m,j,w);  // Bernstein basis function in the w direction (see Eq.(5.2))
              if (kjm! = 0.){ // don't bother no contribution
                j1 = jbas+3*j+1;
                q[icount] = q[icount]+b[j1]*jin*kjm; // calculate the surface points
                q[icount+1] = q[icount+1]+b[j1+1]*jin*kjm;
                q[icount+2] = q[icount+2]+b[j1+2]*jin*kjm;
              }
            }
          }
        }
        icount += 3;
        w = w+stepw;
      }
      u += stepu;
    }
  }
}
s/(?:\G|^) {2}/\t/mg