正则函数如何匹配$
浅谈出口账务和excel函数 在正则表达式中,$ 是特殊符号,想要匹配它字面意思的“美元符号”时,不能直接用 $,因为正则引擎会把它当作“行尾”的锚点(即匹配字符串的结尾位置)。
因此,想匹配 $ 本身,需要加反斜杠转义写成 \$。
$\d+ 匹配行尾位置后的数字(几乎无结果) 返回错误或无匹配
\S+ 匹配非空白字符($属于可见符号) 结果:$100(整个连在一起)
\w+ 匹配单词字符($不是单词字符) 结果:100(跳过了$)
因为 \S 的定义是“非空白字符”,而 $ 是可见符号,自然在它的匹配范围内。但如果你只想提取“字母+数字”,$ 就会被 \w 排除。
在正则中,这些符号有特殊含义,匹配字面量时都要加 \:
. ^ $ * + ? { } [ ] ( ) | \
如果你想提取“美元符号后面的金额数字”,可以这样写:
=REGEXP("价格$100", "(?<=\$)\d+")
// 结果:100(使用了正向后顾,只提取数字,不包含$)