gpt4 book ai didi

正则表达式 - 匹配同时忽略某些字符

转载 作者:行者123 更新时间:2023-12-04 02:18:49 26 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来最大化长度为 5 位或超过 5 位的数字序列,但在进行该分析时我忽略了任何空格、破折号、圆括号或散列。这是我目前所拥有的。

(\d|\(|\)|\s|#|-){5,}

问题是这将匹配任何 5 个字符的序列,包括我想忽略的那些字符,所以像“#123”这样的东西会匹配。虽然我确实想忽略 # 和空格字符,但我仍然需要数字本身为 5 位或更多数字才能获得比赛资格。

明确地说,这些将匹配:

1-2-3-4-5
123 45
2(134) 5

如果匹配以数字而不是我排除的那些“特殊字符”之一开始和结束,则奖励积分。进行这种匹配有什么技巧吗?

最佳答案

如果我对要求的理解正确,您可以使用:

^\d(?:[()\s#-]*\d){4,}$

RegEx Demo

它总是匹配开头的数字。然后是 4 个或更多的非捕获组,即 (?:[()\s#-]*\d) 这意味着 0 个或更多的任何列出的特殊字符后跟一个数字。

关于正则表达式 - 匹配同时忽略某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32487568/

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