【发布时间】:2016-11-01 15:39:39
【问题描述】:
我多年来一直在尝试研究这个问题,并且使用 Java 和 Regex 真的很挣扎。我正在尝试创建一个符合这些条件的正则表达式:
单词只能包含字母和连字符 (-),并且必须以字母开头。没有数字。
我的 Java 代码如下所示:
String test="^[a-zA-Z][^\\\\0-9]*[\\-]*[a-zA-Z]*";
Pattern p = Pattern.compile(test,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Matcher m = p.matcher(textInputWord.getText());
if(m.find()){
String temp = textInputWord.getText();
wordArrayList.add(temp);
labelMainText.setText("Word " + textInputWord.getText() + " was added to the ArrayList.");
}else{
labelMainText.setText("The string " + textInputWord.getText() + " was not added to the list as it is not a valid word.");
}
任何帮助将不胜感激。
【问题讨论】:
-
^[a-z][a-z-]*$如果您使用的是Pattern.CASE_INSENSITIVE。
标签: java regex regex-negation