2012-02-15 18 views
0

誰かが、ハイフンとアポストロフィを最初と最後の位置で許可しないように、下の正規表現を変更する方法を教えてください。どんな助けもありがとうございます。Javaの正規表現の助けが必要

"[a-zA-Z][\\s-'a-zA-Z]{0,14}" 

答えて

1

[a-zA-Z][\\s-'a-zA-Z]{0,14}(?<!['-])

+0

元の意図は最初に1つのアルファのみを強制したいと思われるが、少なくとも2つのアルファ(開始時に1つ、最後に1つ)が必要であるため、機能しません。 –

+0

ありがとう!それは働いている。 – 1078081

+0

空白を最後の文字として使用できないと思いますが、これは必須ですか? – DNA

2
"[a-zA-Z][\\s'a-zA-Z-]{0,14}(?<!['-])" 

(?<!['-])その前の文字が['-]と一致しないことが必要です負の後読みアサーションです。

+0

ありがとうございます!それは働いている。 – 1078081

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; 
} 

正規表現は、 - または 'で始まるかどうかを確認する必要があります。 'または - で終わります。そうであればtrueを返し、そうでなければfalseを返します。