正则表达式Java总字符串长度 [英] Regex Java Total String Length

查看:1088
本文介绍了正则表达式Java总字符串长度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要下面的正则表达式才能选择总大小为X的正则表达式:

I need the below regex to select only those of total size X:

[[JN]*P?[JN]*]N

编辑:

例如对于6:


  • JJPNNN - > JJPNNN

  • ONNJNNNO - > NNJNNN

  • NPJNJNN - > NPJNJN,PJNJNN

  • NPJNN - > False

  • JJPNNN -> JJPNNN
  • ONNJNNNO -> NNJNNN
  • NPJNJNN -> NPJNJN, PJNJNN
  • NPJNN -> False

I需要它来捕获组。

推荐答案

您可以使用前瞻头来检查长度,如下所示:

You can use lookahead to first check the length, like this:

(?=^.{6}$)[[JN]*P?[JN]*]N

此外,你似乎有太多的括号。要使表达式符合您的示例,您需要删除最外层的表达式:

Also, you seem to have too many brackets. To make the expression match your examples, you need to remove the outermost one:

(?=^.{6}$)[JN]*P?[JN]*N

这里是一个使用ideone的小型演示。

Here is a small demo using ideone.

这篇关于正则表达式Java总字符串长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆