我有 1000 行不同的文本。在大多数行中,括号中存在一组美元值。我想删除这些括号集中的前导“$”符号和逗号,这样……
Ted ($633,613) blah, blah. Blah; Sue ($1,887) (Bill). John (M) ($10,927) (Art Major)
Mike ($1,200,000) blah, blah.
…变成这样:
Ted (633613) blah, blah. Blah; Sue (1887) (Bill). John (M) (10927) (Art Major)
Mike (1200000) blah, blah.
提前感谢您的宝贵时间。
\$(\d+),(\d+)(?:,(\d+))?
\1\2\3
解释:
\$
匹配字符 $\d+
匹配一位或多位数字。第一捕获组,
匹配逗号\d+
匹配一位或多位数字。第二捕获组(?:,(\d+))?
可选匹配逗号后跟一个或多个数字的非捕获组(第三个捕获组)根据问题的要求,这将仅在一对括号内删除美元和逗号:
(?:\(|\G\d+)\K[$,](?=.*?\d\))
LEAVE EMPTY
. matches newline
解释:
截图(之前):
截图(之后):