我想打破这样的字符串:
String s = "xyz213123kop234430099kpf4532";
成标记,其中每个标记以字母开头并以数字结尾。所以上面的字符串可以分解为 3 个标记:
xyz213123
kop234430099
kpf4532
该字符串s
可能非常大,但模式将保持不变,即每个标记将以 3 个字母开头并以数字结尾。
我该如何拆分它们?
我想打破这样的字符串:
String s = "xyz213123kop234430099kpf4532";
成标记,其中每个标记以字母开头并以数字结尾。所以上面的字符串可以分解为 3 个标记:
xyz213123
kop234430099
kpf4532
该字符串s
可能非常大,但模式将保持不变,即每个标记将以 3 个字母开头并以数字结尾。
我该如何拆分它们?
试试这个:
\w+?\d+
Java匹配器:
Pattern pattern = Pattern.compile("\\w+?\\d+"); //compiles the pattern we want to use
Matcher matcher = pattern.matcher("xyz213123kop234430099kpf4532"); //we create the matcher on certain string using our pattern
while(matcher.find()) //while the matcher can find the next match
{
System.out.println(matcher.group()); //print it
}
然后你可以使用Regex.Matches C#:
foreach(Match m in Regex.Matches("xyz213123kop234430099kpf4532", @"\w+?\d+"))
{
Console.WriteLine(m.Value);
}
对于未来,这个:
像这样做,
String s = "xyz213123kop234430099kpf4532";
Pattern p = Pattern.compile("\\w+?\\d+");
Matcher match = p.matcher(s);
while(match.find()){
System.out.println(match.group());
}
xyz213123
kop234430099
kpf4532
您可以从这样的正则表达式开始: (\w+?\d+) http://regexr.com?36utt