gpt4 book ai didi

.net - 正则表达式:前瞻和后视,检查 . (点)用作十进制与句号

转载 作者:行者123 更新时间:2023-12-04 15:03:07 24 4
gpt4 key购买 nike

我已经在网上好好看看这个问题的答案,但似乎无法让它工作。

我开发了以下正则表达式:

    (?<![^\d][\\])[\.](?![\d])

目标是识别任何“.” (点)没有被转义或者是十进制数的一部分。

IE)
  • abc.co.uk,两个点都应该匹配
  • ab0.co.uk,两个点都应该匹配
  • abc.0.uk,两个点都应该匹配
  • abc\.co.uk,只有第二个点匹配
  • 0.00,点不应该匹配
  • abc0.0.uk,第一个点不匹配(这是可以接受的结果),第二个点应该

  • 目前它适用于上述所有情况,除了:
  • abc.0.uk,两个点都应该匹配

  • 有什么想法吗?看起来后视工作正常,但前瞻却不是。

    相信对于任何正则表达式大师来说,这将是一件容易的事!

    供引用。我正在 .net 4 中开发这个

    最佳答案

    试试这个

    (?<![\\\d])\.(?=\d)|(?<=[^\D\\])\.(?!\d)|(?<=[^\d\\])\.(?!\d)

    看到它 here on Regexr

    我把它分成三个步骤。
  • 如果 before 不是转义字符且不是数字并且后面是数字,则匹配。
  • 如果 before 不是转义字符并且是数字并且后面不是数字,则匹配
  • 如果 before 不是转义字符且不是数字并且后面不是数字,则匹配
  • 关于.net - 正则表达式:前瞻和后视,检查 . (点)用作十进制与句号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078739/

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