gpt4 book ai didi

正则表达式捕获可变字符串中设置位置的字符

转载 作者:行者123 更新时间:2023-12-02 08:39:19 25 4
gpt4 key购买 nike

我什至不确定这是否可以通过正则表达式实现,但情况是这样的:我有一个长度可以是 2、4 或 6 个字符的字符串。这些字符是成对的数字(例如:01 或 0125 或 012589)。

我需要三个表达式来捕获前两位数字(上例中的“01”)、中间数字(“25”)和最后两位“89”(同样,这些只是示例,可以是介于两者之间的任何数字0 和 9)。

表达式必须符合字符串的限制字符长度(必须是 2、4 或 6 个字符 - 1、3、5、7 或更多字符不会导致匹配)。此外,捕获最后两位数字的表达式不能匹配 4 字符字符串的最后两位数字。最后两位数字仅对 6 个字符的字符串有效。同样,中间捕获仅对 4 或 6 个字符的字符串有效。

我不能为此使用代码,只能使用正则表达式。

最佳答案

你可以使用这个模式:

(?<!\d)(?<first>[0-9]{2})(?:(?<middle>[0-9]{2})(?<last>[0-9]{2})?)?(?!\d)

关于正则表达式捕获可变字符串中设置位置的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025707/

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