Check for nth occurrence of pattern in regular expression in Java
本问题已经有最佳答案,请猛点这里访问。
我想使用 Java 正则表达式检查输入字符串中特定模式的第 n 次出现。你能建议怎么做吗?
这应该可以工作:
1
2 3 4 5 |
MatchResult findNthOccurance(int n, Pattern p, CharSequence src){
Matcher m = p.matcher(src); for(int i = 0; i<n; i++) m.find(); return m; } |
基本上,它只是在从
好吧,您可以执行以下操作:
1
|
(?:[abc].*+){4}([abc])
|
这将匹配 4 次出现的 a、b 或 c,然后是任何内容(非急切匹配,因此任何 a、b 或 c 都不会被此任何内容匹配),然后是捕获组中的 ab 或 c( $1).
只需将 [abc] 替换为您要查找的模式即可。用 n – 1 替换花括号中的数字。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/267475.html