【问题标题】:Sublime, Find and Replace with varying numbers崇高,查找和替换不同的数字
【发布时间】:2014-03-31 16:36:22
【问题描述】:

我正在尝试查找并替换以下所有实例:

font-size: pem(18)

但问题是它们的数量都不同。我不是正则表达式专家,我研究了几种方法来做到这一点,但没有运气,因为我真的不知道我在寻找什么来解决这个问题。

我知道 Sublime 中存在 regex 功能,但是当我想到 Regex 时,我是用 javascript 或 jquery 思维方式思考的,而不是纯粹的 regex,因为我在这方面没有经验。

【问题讨论】:

    标签: regex replace sublimetext2 sublimetext


    【解决方案1】:

    如果你开始学习 RegEx,这很简单:

    font-size: pem\(\d+?\)
    

    首先,如果您尝试匹配该确切字符,请转义所有 RegEx 元字符。在这种情况下,它们是“(”和“)”。 \d+ 匹配一个或多个数字,即。 4、14、144 等。如果您想更高级并将整数值限制在 1 到 19 之间的任何值,您可以将 RegEx 修改为:

    font-size: pem\((?:[1-9]|1[0-9])\)
    

    这里,| 是标准的“或”运算符。 \d 只是[0-9] 的简写,但我在这里使用了[0-9] 以提高可读性。 (?: ... ) 表示非捕获组,因此结束的“)”也匹配单个“1-9”值。


    现在,如果您在更改所有整数值之后,您可以像这样进行查找和替换:

    查找

    (?<=font-size: pem\()(?:[1-9]|1[0-9])(?=\))
    

    替换

    12
    

    那么 1 到 19 之间的所有 pem 值都将变为 12。

    【讨论】:

      猜你喜欢
      • 2016-11-24
      • 2015-04-21
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      相关资源
      最近更新 更多