gpt4 book ai didi

javascript - 如何匹配字符串的结尾不捕获加号

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

我有一个如下的正则表达式:

 if (string.match(/([0-9]+\-[0-9]+)\s*\,?\s*([0-9]+\-[0-9]+)\s*(mon|tues|wed|thu|fri|sat|sun)/ig)) {
string = string.replace(/([0-9]+\-[0-9]+)\s*\,?\s*([0-9]+\-[0-9]+)\s*(mon|tues|wed|thu|fri|sat|sun)/ig, "$3 $1 , $3 $2")
}

捕捉以下模式:

1- 8-20 15-19 周六,

2-8-10 14-18 周二

3-8-15 18-20 周五地铁

但不是这些情况:“8-10 14-20 周二+周五+周六-周五”或“8-10 14-20 周二+周五”

有人可以帮助我吗?谢谢

最佳答案

使用这个正则表达式:https://regex101.com/r/yiDfKz/6/

([0-9]+\-[0-9]+)\s*\,?\s*([0-9]+\-[0-9]+)\s*(mon|tues|wed|thu|fri|sat|sun)([^+]|$)

([^+]|$) ==> + 字符或结束符除外(需要多行标志)

或者这个正则表达式:https://regex101.com/r/yiDfKz/4/

([0-9]+\-[0-9]+)\s*\,?\s*([0-9]+\-[0-9]+)\s*(mon|tues|wed|thu|fri|sat|sun)([, ]|$)

([, ]|$) ==> 逗号、斜杠或尾行(需要多行标记)

或者最后这个更紧凑的正则表达式:https://regex101.com/r/yiDfKz/7

(\d+-\d+)\s*,?\s*(\d+-\d+)\s*(mon|tues|wed|thu|fri|sat|sun)(?!\+)

使用负前瞻 (?!\+) 并使用 [0-9] 而不是\d`

关于javascript - 如何匹配字符串的结尾不捕获加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47408524/

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