gpt4 book ai didi

regex - 需要正则表达式 - 没有美分的美元

转载 作者:行者123 更新时间:2023-12-01 13:14:53 24 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式来匹配美元符号后的数字,但之后没有美分。

$33.92 - no match

$211 - match 211

这就是我目前所拥有的。

(?<=\$)\d+(?!\.)

查看这个字符串...

Something $122.30 $45 $1.111

...它正确匹配“45”,但它也匹配“12”。

我明白为什么它是错误的,但我不知道如何修复它。

谢谢

最佳答案

你可以使用

(?<=\$)\d+(?![.\d])

参见 regex demo .

显示所有格量词和原子分组的同义词表达式:

(?<=\$)\d++(?!\.)
(?<=\$)(?>\d+)(?!\.)

不支持后视的那些环境的表达式应该在 \d+ 周围有一个捕获组图案:

\$(\d+)(?![.\d])
^ ^

那么需要的值在第1组中。

仅供引用:\$([0-9]+)($|[^.0-9])甚至可以使用 POSIX ERE。

详情

  • (?<=\$) - 一个 $必须立即出现在当前位置的左侧
  • \d+ - 1+ 位数
  • (?![.\d]) - 当前位置的右侧不应立即出现任何点或数字。

正则表达式图:

enter image description here

关于regex - 需要正则表达式 - 没有美分的美元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56056496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com