Java 正则表达式模式格式验证
我需要一个正则表达式模式,它将由客户端发送,其中起始字符将是字母数字,该起始字符串的长度将由该字符串后的数字定义。这之后是一个特殊字符,它将始终是单个字符。然后是一个长度可变的字母数字字符串 我最接近下面的字符串和格式Java 正则表达式模式格式验证,java,regex,regex-negation,regex-lookarounds,Java,Regex,Regex Negation,Regex Lookarounds,我需要一个正则表达式模式,它将由客户端发送,其中起始字符将是字母数字,该起始字符串的长度将由该字符串后的数字定义。这之后是一个特殊字符,它将始终是单个字符。然后是一个长度可变的字母数字字符串 我最接近下面的字符串和格式 [A-Za-z0-9]{4}-[A-Za-z0-9]{5} - RegEx Input String [A-Za-z0-9]{2}#[A-Za-z0-9]{6} - RegEx Input String [0-9]{3}#[0-9]{5}
[A-Za-z0-9]{4}-[A-Za-z0-9]{5} - RegEx Input String
[A-Za-z0-9]{2}#[A-Za-z0-9]{6} - RegEx Input String
[0-9]{3}#[0-9]{5} - RegEx Input String
[a-z]{5}#[a-z]{5} - RegEx Input String
[A-Z]{4}#[a-z]{4} - RegEx Input String
[\w]{\d{1,1}}(\S{1,1})[\w]{\d{1,1}} - RegEx Format
上述模式和格式正确吗
我们可以根据所需的正则表达式格式验证正则表达式输入字符串吗
这是一个web服务,其输入为[a-Za-z0-9]{4}-[a-Za-z0-9]{5}。我需要两样东西。首先,我如何验证此输入,以查看它是否匹配我想要的格式,并继续。格式是我上面提到的RegEx格式 此正则表达式应与您感兴趣的正则表达式子集相匹配:
\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])?)*\](?:\{\d\})?\S\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])?)*\](?:\{\d\})?
让我们把它分解一下:
- 它匹配一行,该行按顺序包含字符类、可选量词、分隔符、第二个字符类及其第二个可选量词
- 分隔符是任何非空白字符,
(您可能希望将其更改为更具体的字符,或包含一些空白字符)\S
- 可选的量词很简单,它是一个数字,用文字的花括号括起来,整个数字被一个我们用来使其可选的未绑定组所包围:
。请注意,这将不接受多位数长度,因此您可能希望将(?:\{\d\})
更改为\d
,或者更具体的\d+
范围量词{m,n}
- 字符类是由0个或多个字符或字符范围组成的序列,用文字括号括起来
- 字符是字母或数字:
当无界组不匹配时[a-zA-Z0-9](?:-[a-zA-Z0-9])?
- 字符范围是一个字符,后跟文字
,后跟另一个字符:-
,当匹配无界组时[a-zA-Z0-9](?:-[a-zA-Z0-9])?
\[\w-]+\](?:\{\d(?-\d)?\)-\[\w-]+\](?:\{\d(?-\d)?\)
当然,只有一个示例我远不能确定这是你真正需要的。你好,亚伦,请你再增加一种可能性,我们可以在中心只包含一堆字符,而不是所有字符(\S),并且这个字符长度应该总是一个。这已经完成了:“\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])*”(?:\{\\d\\)[-:,'=^!%>ç`$§;{1}[(?:[a-zA Z0-9](?:[a-zA-Z0-9])-)*”(?:[a-zA Z0-Z0-9])。\\\\\\\\\](?)@用户1我想我的回答有错<代码>\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])?)*\](?:\{\d\})?[-:,'=^!%>ç`$§;\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])?)*\](?:\{\d\)应该可以正常工作。看看这个(我必须将#
添加到您的角色类中,以使其与您提供的示例一起工作)