gpt4 book ai didi

regex - 使用正则表达式帮助查找数字

转载 作者:行者123 更新时间:2023-11-30 23:47:11 25 4
gpt4 key购买 nike

我正在尝试查找所有单个数字(使用 vim):

  • 行首的数字
  • 行尾的数字
  • 该数字必须跟在一个非数字
  • 后面。
  • 但不能以“点”和数字或“,”和数字开头。

  • 这是对的
    7
    字7
    七字
    7.
    .7
    一、7
    一字七字
    字 7 字
    7-7

    但不是这个
    7.7
    7,7
    77

    谁能帮我解释一下正则表达式?

    编辑:
    也许我是在下面关于原子分组的答案的帮助下找到的。 Vim 确实支持它: \(\d\.\|\d\,\|\d\)\@<!\d\(\.\d\|\,\d\|\d\)\@!

    最佳答案

    你可以试试这个:

    \v%(\d+%(\.|,))@<!\d@<!\d+@>%(%(\.|,)\d)@!

    解释:
  • \v变得非常神奇:不需要很多反斜杠
  • %符号是可选的(使括号中的组不匹配)
  • (\d+(\.|,)@<! : 前面没有数字然后 。或 ,
  • \d@<! : 前面没有数字(确保我们在第一个数字
  • \d+@> :消耗所有数字( @> 确保,见 :help /\@> )
  • ((\.|,)\d)@! : 之后,没有点或逗号后跟数字。
  • 关于regex - 使用正则表达式帮助查找数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6579250/

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