java - 正则表达式以大写字母开头且长度 < 70

标签 java regex string

我想匹配一个以大写字母开头且长度 < 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/

相关文章:

java - Java 解析字符串

c++ - 将字符数组中的字符连接成一个整数

java - Spring DevTools 未包含在 spring-boot-maven-plugin 打包的 fat jar 中

javascript - 字符串替换正则表达式,从 Facebook 内容中删除符号

java - 使用正则表达式查找特定范围

php - 如何在 PHP 中使用正则表达式中断查询

java - 如何在 Java 中将字符串 ("0 100 300 200") 转换为 long 数组?

java - Spring 4.2 : java. lang.NoClassDefFoundError : Could not initialize class org. springframework.test.web.servlet.result.MockMvcResultHandlers

java 内存游戏的三个条件

java - 未在此范围内声明 GetByteArrayElements