Java 正则表达式以大写字母开头,长度为<;70
我想匹配一个以大写字母开头且长度小于70的字符串 我尝试了这个正则表达式Java 正则表达式以大写字母开头,长度为<;70,java,regex,string,Java,Regex,String,我想匹配一个以大写字母开头且长度小于70的字符串 我尝试了这个正则表达式([A-Z][A-zA-Z\s\/\-]*\:?\?)来检查字符串是否以大写字母开头。它工作得很好。但是为了检查长度,我改为(([A-Z][A-zA-Z\s\/\-]*\:?\'?){4,70}),它不起作用 不过,我可以使用if语句中的length()字符串方法检查长度。这样做会使if语句冗长。我想在正则表达式中结合长度检查。我认为这可以在正则表达式中实现,但我不确定如何实现 更新(忘记提及):字符串可以有两个符号中的任意
([A-Z][A-zA-Z\s\/\-]*\:?\?)
来检查字符串是否以大写字母开头。它工作得很好。但是为了检查长度,我改为(([A-Z][A-zA-Z\s\/\-]*\:?\'?){4,70})
,它不起作用
不过,我可以使用if
语句中的length()
字符串方法检查长度。这样做会使if
语句冗长。我想在正则表达式中结合长度检查。我认为这可以在正则表达式中实现,但我不确定如何实现
更新(忘记提及):字符串可以有两个符号中的任意一个-:,,,,并且两个符号中只有一个会在字符串中出现零次或一次
例如:可接受字符串:期待机会
,工作经历:
,工作经历-
,印度总理
不可接受的字符串:工作经历:
,经理学历-
,工作经历:
,教育-2014-2017
,教育(毕业)
请帮帮我
提前谢谢。如果声明很长,为什么
会很长
String str = "Scary";
if (str.length() < 70 && str.charAt(0) >= 'A') {
}
String str=“吓人”;
如果(str.length()<70&&str.charAt(0)>='A'){
}
为什么if
语句会很长
String str = "Scary";
if (str.length() < 70 && str.charAt(0) >= 'A') {
}
String str=“吓人”;
如果(str.length()<70&&str.charAt(0)>='A'){
}
你肯定需要锚和了望台
(?=^[^-':\n]*[-':]{0,1}[^-':\n]*$)^[A-Z][-':\w ]{4,70}$
因此,将匹配5-71个字符之间的字符串,请参阅。此外,它还检查是否存在零个或一个特殊字符(即在lookarounds的帮助下)。您肯定需要锚定和lookarounds
(?=^[^-':\n]*[-':]{0,1}[^-':\n]*$)^[A-Z][-':\w ]{4,70}$
因此,将匹配5-71个字符之间的字符串,请参阅。此外,它还检查是否存在零个或一个特殊字符(即在lookarounds的帮助下)。我将向正则表达式中添加^
和$
:
^[A-Z].{,69}$
应该有用。这意味着:
^
字符串的开头
[A-Z]
任何大写字符(英文)
{0,69}
最多69个其他字符
$
字符串的结尾
如果总长度最多为70个字符…我会将^
和$
添加到您的正则表达式中:
^[A-Z].{,69}$
应该有用。这意味着:
^
字符串的开头
[A-Z]
任何大写字符(英文)
{0,69}
最多69个其他字符
$
字符串的结尾
对于总长度最多为70个字符的…请在正则表达式的开头指定一个lookaround断言,该断言可以包含4到70个字符:
(?=.{4,70}$)
你可以这样写:
String regex = "(?=.{4,70}$)[A-Z][a-zA-Z\\s\\/\\-]*\\:?\\'?";
在正则表达式的开头指定一个lookaround断言,该断言可以包含4到70个字符:
(?=.{4,70}$)
你可以这样写:
String regex = "(?=.{4,70}$)[A-Z][a-zA-Z\\s\\/\\-]*\\:?\\'?";
工作正则表达式=
/\A^[A-Z][A-Za-z]*\z/
工作正则表达式=
/\A^[A-Z][A-Za-z]*\z/
我认为$
在这种情况下是过时的,因为{4,70}
与任何内容的匹配次数最多为70次。因此,如果在此之后输入了任何内容,则无论如何都不应进行匹配。它允许使用问题中提到的以外的特殊符号,这是不应该发生的。@OmPrakash:请提供一些有效的字符串和一些不允许的字符串。@Jan啊,我不知道行分隔符的特殊处理。接得好!更新了答案以包含lookarounds。我认为$
在本例中已过时,因为{4,70}
与任何内容的匹配次数最多为70次。因此,如果在此之后输入了任何内容,则无论如何都不应进行匹配。它允许使用问题中提到的以外的特殊符号,这是不应该发生的。@OmPrakash:请提供一些有效的字符串和一些不允许的字符串。@Jan啊,我不知道行分隔符的特殊处理。接得好!更新了答案以包含环视。这缺少长度约束。这缺少长度约束。