gpt4 book ai didi

css - 为什么这个正则表达式不匹配 VSCode 搜索和替换中的任何内容?

转载 作者:行者123 更新时间:2023-12-02 19:41:31 28 4
gpt4 key购买 nike

我正在使用 VSCode
enter image description here

演示我选择的搜索选项的屏幕截图: enter image description here

这是我尝试使用的表达方式。它在其他地方有效,例如 regexr.com,但在 VSCode 中无效...

font\-size\:\s{0,1}\d{2,2}px\;\s{0,1}

这是 HTML:

https://codepen.io/JashoowellPadderssonn/pen/WNbVVEq

我也试过禁用所有不起作用的扩展。这是我的 VSCode 设置:

https://gist.github.com/CrocodileInAWhileAlligatorLater/409f0d9d179955ff80419a8a4506a09d

最佳答案

您应该只转义需要转义的字符。

使用

font-size:\s?\d{2}px;\s?

请注意 -(此处)、:; 并不特殊,因此不得转义。

原因是正则表达式是now compiled使用 u 修饰符启用 Unicode 属性类(例如 \p{L} 匹配任何 Unicode 字母)。这是一个VSCode Github issue , 考虑在 unicode 模式下使用 JS 正则表达式进行搜索。 2019年9月3日关闭,2019年10月3日验证。

副作用是对转义有更严格的要求

在字符类 [...] 之外,必须转义以下字符:.^, $, *, +, ?, (, ), [, {(在大多数情况下您可以不转义它,但是,如果您需要查找 { 后跟一个数字,然后需要 } 转义,参见 /a\{3}/(匹配 a{3})! = /a{3}/ - 匹配三个 a), \ и |.

在字符类中,必须始终对这些字符进行转义:]\。如果 - 不位于字符类的开头或结尾,则必须对其进行转义 ([-0-9_] = [0-9_-] = [_\-0-9]),并且 ^ 在字符类开始表示文字 ^ 时必须转义> ([^0](匹配 0 以外的任何字符) != [\^0](匹配 ^0))。参见 What special characters must be escaped in regular expressions? .

关于css - 为什么这个正则表达式不匹配 VSCode 搜索和替换中的任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60047671/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com