gpt4 book ai didi

java - 正则表达式检查字符串是否包含 '1-n' 整数,然后是 '0-m' 字母

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

我遇到了一个需要验证字符串的特殊情况。

String 必须满足一些条件才能进一步移动。这是:

  1. 字符串应以整数值开头,其长度应大于 1和

  2. 然后是字母表,其长度应该是从0到m(这意味着字母表可能存在也可能不存在)

如果字符串以整数开头,

myString.charAt(0) 会告诉我。

如何验证它只包含 < n 个整数?

如何通过 > 0 和 < n 个整数后跟 0 到 < m 个字母来验证它?

我可以得到一个正则表达式来解决吗?

最佳答案

这应该可行

^\d{1,n - 1}[A-Za-z]{0,m - 1}$

如你所愿< n .所以应该是n-1

DEMO

JAVA 代码

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
static boolean isValid(String x, int n, int m)
{
String pattern = "^\\d{1," + (n - 1) + "}[A-Za-z]{0," + (m - 1) + "}$";

Pattern r = Pattern.compile(pattern);

Matcher t = r.matcher(x);
return t.find();
}
public static void main( String args[] ){

// String to be scanned to find the pattern.
String line = "123abcdef";
int n = 4, m = 4;

if (isValid(line, n, m)) {
System.out.println("FOUND");
} else {
System.out.println("NOT FOUND");
}

}
}

n 的值应大于或等于 2m 的值应该大于 1

IDEONE DEMO

关于java - 正则表达式检查字符串是否包含 '1-n' 整数,然后是 '0-m' 字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36313776/

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