gpt4 book ai didi

regex - 用正则表达式匹配时间字符串

转载 作者:行者123 更新时间:2023-12-03 18:14:50 28 4
gpt4 key购买 nike

我想将字符串中的时间(10.00)与日期和时间(“21.01.08 10.00”)相匹配。我正在使用以下正则表达式:

new RegExp("\\b[0-9]{1,2}\\.[0-9]{1,2}\\b" "g");

但这与 21.01.08 和 10.00 的 21.01 相匹配。

我使用 PCRE 作为我的正则表达式引擎。

更新:

对不起,我应该更清楚。数据和时间是更大字符串的一部分。我想从那个字符串中提取时间。

例如:

“21.01.08 从 10.00 开始,将在图书馆举行派对”
“21.08.08 - 10:00 将举行派对”
“08 年 8 月 21 日,你被安排在......。......将在 10.00 开始”

这可能吗?

最佳答案

您原来的正则表达式不起作用,因为 \b (词边界)匹配“。”在“21.01.08”中。您需要更稳健地对边界进行编码:

(?:[^\d:.]|^)(\d\d?[.:]\d\d)(?![.:\d])

这会以您使用的任何一种表示法捕获时间,同时不包括日期。请注意,它不会验证时间。例如,它会匹配 "88:99"验证时间是可能的,但会使模式显着复杂化,并且在大多数情况下可能会过大。

使用后视而不是非捕获分组会很好,但 PCRE 不支持可变宽度后视。

关于regex - 用正则表达式匹配时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209192/

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