gpt4 book ai didi

用于验证最后两个字符的 Java 正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:57 26 4
gpt4 key购买 nike

我想验证一个表达式。我可以达到 90%,但我在一个条件下失败了。我们如何添加一个表达式来确保在几个字符之后的特定字符应该是字母表,如果有的话,下一个字符应该是数字。

Eg: [A-Z1-9]{1,30}?[A-Z]{0,1}$[1-9]{0,1}

模式最多可以有 32 个字符,最后 2 个字符是可选的如果字符超过 30,它应该以字母 [A-Z] 开头,并且它应该只出现一次 {0,1}第 32 个字符应该是一个数字 [1-9] 并且它应该只出现一次并且如果第 31 个字符存在则应该出现你能帮帮我吗?

最佳答案

尝试以下模式。这会匹配 1-29 个“普通”字符,或者恰好 30 个带有您的可选后缀的字符。

//                  Matches 29 chars    Matches 30 chars plus suffix
// | |
// ----------------------------------------------
// | || |
String pattern = "([A-Z\\d]{1,29})|([A-Z\\d]{30}([A-Z]\\d){0,1})";
// ^^^^^^^^ ^^^^^^^^

应调整带下划线的部分 (^^^^) 以描述前 30 个字符中允许的字符集。

注意:我使用 0-9 作为有效数字,这更正常。如果您确实需要 1-9,您可以调整代码。

关于用于验证最后两个字符的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23603086/

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