【问题标题】: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。