我有一个excel函数,可从单元格中提取数字,但我想更改模式以在$符号后提取数字。
数字范围为1-100000。它也可以有小数点(例如1.1000)。数字永远不会是负数。数字将始终在$符号之后。
例如<div class="palette">
<div class="colorOuter1">
<div class="colorInner1"></div>
</div>
<div class="colorOuter2">
<div class="colorInner2"></div>
</div>
<div class="colorOuter3">
<div class="colorInner3"></div>
</div>
<div class="colorOuter4">
<div class="colorInner4"></div>
</div>
<div class="colorOuter5">
<div class="colorInner5"></div>
</div>
<div class="centerOverlay">
<div class="north"></div>
<div class="northeast"></div>
</div>
</div>
我需要得到Text text $50.35
。
我需要编写.pattern部分的帮助。我尝试并不断失败。
非常感谢您的帮助。
答案 0 :(得分:0)
我的猜测是,此表达式或对此的稍微修改后的版本可能在这里起作用:
\$(10{5})$|\$([1-9]\d{1,4}(\.\d+)?)$|\$([1-9](\.\d+)?)$
如果您感兴趣,请在此demo中对表达式进行说明。
我的假设是:
我们想通过$100000
并通过$100000.0
。
字符串将以所需的数字结尾。
答案 1 :(得分:0)
您可以匹配美元符号,并在组中捕获数字。
\$([1-9][0-9]{0,4}(?:\.\d+)?|100000(?:\.0+)?)(?!\S)
说明
\$
匹配美元符号(
捕获组
[1-9][0-9]{0,4}
匹配1-99999 (?:\.\d+)?
可以选择匹配点和1个以上的数字|
或100000(?:\.0+)?
匹配100000,还可以匹配一个点和1+乘以0 )
关闭捕获组1 (?!\S)
断言右边的内容不是非空格字符