Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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 如何替换记事本中的特定图案++/visual studio_Regex_Visual Studio - Fatal编程技术网

Regex 如何替换记事本中的特定图案++/visual studio

Regex 如何替换记事本中的特定图案++/visual studio,regex,visual-studio,Regex,Visual Studio,我正在使用VisualStudio。在SCSS代码的整个应用过程中,我通过一个函数将所有px转换为rem单元 例如: padding:16px 32px 48px-->padding:rem(16)rem(32)rem(48)其计算结果为padding:1rem 2rem 3rem 现在出于某种原因,我需要将所有rem单位转换回px单位。 为此,我想识别模式rem(xyz),并将其替换为xyz px 例如: .wrapper{ font-size: rem(40); .conte

我正在使用VisualStudio。在SCSS代码的整个应用过程中,我通过一个函数将所有
px
转换为
rem
单元

例如:

padding:16px 32px 48px-->padding:rem(16)rem(32)rem(48)
其计算结果为
padding:1rem 2rem 3rem

现在出于某种原因,我需要将所有
rem
单位转换回
px
单位。 为此,我想识别模式
rem(xyz)
,并将其替换为
xyz px

例如:

.wrapper{
    font-size: rem(40);
    .content{
        padding: rem(20) rem(10) rem(30);
    }
}

.wrapper{
    font-size: 40px;
    .content{
        padding: 20px 10px 30px;
    }
}
请让我知道如何使用记事本++或Visual Studio中的“查找和替换”工具实现此目的

rem\(.*?)
-->此正则表达式标识模式。 我试图使用同一个捕获的组,并以这种方式替换它
\(.*)px
,但没有成功。

如果只想匹配没有十进制值的数字,可以使用捕获组将数字保留在括号之间:

\brem\((\d+)\)

并替换为:

$1px

如果还希望匹配小数,可以使用:

\brem\((\d+(?:\.\d+)?|\.\d+)\)
  • \brem
    单词边界和匹配
    rem
  • \(
    匹配
    字符
  • 捕获组
    • \d+(?:\。\d+)
      匹配1+个数字,后跟匹配点和数字的可选部分
    • |
    • \。\d+
      匹配一个点和1+个数字
  • 关闭捕获组
  • \)
    匹配
    char
只要找到

rem\((\d+)\)
取而代之的是,

$1px
如果
rem
匹配literal
rem
\(
匹配literal
然后
(\d+)
捕获一个或多个数字并在组1中捕获,将在使用相同数字替换匹配的文本时使用该数字,最后
\)
匹配一个literal

在替换文本中,
$1
表示在group1中捕获的文本,因此用数字和
px
替换匹配的文本


格式和次要措辞编辑$1px正是我想要的。非常感谢。