有人可以帮助我改变下面的正则表达式,使得它不允许在第一个和/或最后一个位置使用连字符和撇号。任何帮助表示赞赏。
"[a-zA-Z][\\s-'a-zA-Z]{0,14}"
答案 0 :(得分:2)
"[a-zA-Z][\\s'a-zA-Z-]{0,14}(?<!['-])"
(?<!['-])
是负面的后置断言,要求其前面的字符与['-]
不匹配。
答案 1 :(得分:1)
[a-zA-Z][\\s-'a-zA-Z]{0,14}(?<!['-])
答案 2 :(得分:0)
Java正则表达式模式:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
也许是这样的,我的正则表达不是最好的,可能需要纠正。
public bool checkStringForHorA(String s){
s.matches("\\^(-'\\).\\^(-'\\)") ? return true: return false;
}
正则表达式应检查它是否以 - 或'开头,或者是否以0到多个字符开头。以'或 - 结尾。如果确实如此,则返回true,否则返回false。