【发布时间】:2011-07-13 19:04:10
【问题描述】:
我需要一个正则表达式,它将字母数字作为输入,然后是正斜杠,然后是字母数字。我如何在 Java 中为此编写正则表达式?
示例如下:
adc9/fer4
我尝试使用正则表达式如下:
String s = abc9/ferg5;
String pattern="^[a-zA-Z0-9_]+/[a-zA-z0-9_]*$";
if(s.matches(pattern))
{
return true;
}
但问题是它接受所有形式 abc9/ 的字符串而不在正斜杠后检查。
【问题讨论】:
-
句点
.不是字母数字。是否需要期限?或者这是您的示例中的疏忽? -
字母数字应该多短/多长?它必须是字母然后是数字还是任何排列?
-
这真的很简单。该文档可以帮助您编写此正则表达式。见download.oracle.com/javase/6/docs/api/java/util/regex/…
-
@JBNizet:问题在于该文档未能解释如何在 Java 中获取字母数字字符。具体方法见下文。
-
@tchrist:来自我链接到的文档:“\p{Alnum} 一个字母数字字符:[\p{Alpha}\p{Digit}]”。我想这完全取决于您对“字母数字”的含义。
标签: java regex alphanumeric character-properties