如何在Notepad++中用正则匹配带货币符号的2-5位负十进制数?
Notepad++ 匹配带货币符号的特定位数负数值正则表达式
以下是针对不同整数部分位数的正则表达式,精准匹配以负号开头、逗号分隔两位小数、末尾紧跟指定货币符号(€/£/$等)的数值:
匹配整数部分为2位的负数(如
-80,45€):
正则表达式:-\d{2},\d{2}[€£$]
说明:-\d{2}匹配负号加两位整数,,\d{2}匹配逗号加两位小数,[€£$]匹配末尾的指定货币符号。匹配整数部分为3位的负数(如
-255,55€):
正则表达式:-\d{3},\d{2}[€£$]
说明:将整数部分的位数限定为3位,其余规则同上。匹配整数部分为4位的负数(如
-1259,99€):
正则表达式:-\d{4},\d{2}[€£$]
说明:将整数部分的位数限定为4位,其余规则同上。匹配整数部分为5位的负数(如
-15000,00€):
正则表达式:-\d{5},\d{2}[€£$]
说明:将整数部分的位数限定为5位,其余规则同上。
注意事项
- 如果需要支持更多货币符号,直接在
[€£$]中添加即可,比如添加日元符号就改成[€£$¥]; - Notepad++中使用时,需确保“查找模式”选择“正则表达式”,且不要勾选“.匹配换行符”选项;
- 若要避免匹配更长数字中的子串(比如从
-1234,56€中误匹配-234,56€),可添加边界断言,以2位整数为例,正则改为:(?<!\d)-\d{2},\d{2}[€£$],其中(?<!\d)确保负号前没有其他数字。
内容的提问来源于stack exchange,提问作者misterk
相关产品推荐
相关产品推荐

