我想匹配一个以大写字母开头且长度 < 70 的字符串。
我试过这个正则表达式 ([A-Z][a-zA-Z\s\/\-]*\:?\'?)
检查字符串是否以大写字母开头。它工作正常。但是为了检查长度,我改为 (([A-Z][a-zA-Z\s\/\-]*\:?\'?){4,70})
它不起作用。
不过,我可以使用 length()
检查长度if
中字符串的方法陈述。这样做会使 if
语句冗长。我想结合正则表达式本身的长度检查。我认为它可以在正则表达式中完成,但我不确定如何。
更新(忘记提及): 字符串可以有两个符号中的任何一个- :,' 并且只有两个中的一个会出现在字符串中为零次或一次。
例如:可接受的字符串:Looking forwards to an opportunity
, WORK EXPERIENCE:
, WORK EXPERIENCE-
, India's Prime Minister
Not Acceptable 字符串:Work Experience::
, Manager's Educational Qualification-
, work experience:
, Education - 2014 - 2017
, Education (Graduation)
请帮助我。
提前致谢。
最佳答案
你肯定需要 anchor 和环视
(?=^[^-':\n]*[-':]{0,1}[^-':\n]*$)^[A-Z][-':\w ]{4,70}$
因此,将匹配 5-71 个字符之间的字符串,参见 a demo on regex101.com .此外,它还会检查是否存在零个或一个特殊字符(即借助环顾四周)。
关于java - 正则表达式以大写字母开头且长度 < 70,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44255153/