我对正则表达式很新。请原谅我愚蠢的问题。
我想知道是否可以使用正则表达式模式匹配器来替换数字之间的逗号,例如{strong 1>} Sublime Editor 中的$3,542
。
我尝试使用$3542
检测所有此类事件,但不知道为什么我不能只保留数字:/
困惑我!
答案 0 :(得分:4)
您可以使用捕获组来保留数字:
(\$\d+),(\d+)
并替换为$1$2
。如果您不在乎货币,可以删除\$
。
(\$\d+),(\d+)
正则表达式匹配:
(\$\d+)
- 第1组匹配$
作为文字符号,后跟1位或更多位数,
- 一个文字逗号(\d+)
- 第2组匹配1位或更多位数 $1
和$2
是反向引用,用于检索存储在两个组的记忆缓冲区中的文本。
请注意,还有其他方法可以做同样的事情,你可以使用lookarounds或正则表达式\K
,或使用两者,但捕获在我看来是这种情况下最有效的解决方案。
答案 1 :(得分:1)
Ctrl + H ,选择“正则表达式”( Alt + R )并替换:
\$\d+\K,(?=\d)
什么也没有。
说明:
\$\d+\K
将匹配美元符号,后跟一个或多个数字(我们使用\K
- 正向后观的短形式进行零宽度断言)。下一个标记“,”与逗号匹配,最后我们使用positive lookahead来匹配数字。