我尝试制作一个可以包含 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/