java - 以#@开头的字符串模式,可以包含下划线和减号

标签 java regex string

我尝试制作一个可以包含 UTF-8 字符(öäå 等)并在 Java (1.7) 中匹配以下条件的字符串模式;

  • 必须以#或@开头
  • 必须小写
  • 可以包含 - 或 _(减号和下划线),不能包含其他特殊字符
  • 可以包含数字 (0-9)
  • 最少 3 个字符,最多 15 个字符

我目前所拥有的有效但缺少许多标准。

"#\p{javaLowerCase}+"

我不知道如何完成和添加其余条件。 正则表达式 表达式如何符合我的条件?

最佳答案

这以相对简单的方式转换为正则表达式:

"[#@][\\p{javaLowerCase}\\d_-]{2,14}"

这会翻译“最少 3 个和最多 15 个字符”,包括开头的 #@。如果不应该计算这些,将后缀更改为{3,15}

关于java - 以#@开头的字符串模式,可以包含下划线和减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20454447/

相关文章:

javascript - 正则表达式匹配单词数组,不包括缩略词

php 查找字符串

java - 为什么我的 Java 项目无法成功执行 POST 方法来连接我的 OrientDB?

java - Api 21 上的工具栏项 MaterialButton 中的颜色错误

regex - 如何在JSF-Page中使用validateRegex验证数字字段?

java - 如何获取由原始字符串保留顺序的所有唯一字符组成的字符串?

巨大字符串上的 Ruby 字符串操作

java - 如何在 Eclipse 中找到抽象方法的实现位置?

java hibernate在xml文件中存储sql查询

java - 按模式将文本脚本拆分为子字符串