に私はそれがの単語が含まれているかどうかを確認するために文を検索し、簡単な正規表現を持っていない|ための|中|で、ここではほとんどregexpalで働いている私の正規表現です:正規表現はregexpalでの作業が、Java
[^ A-ZA-Z] |について|中|私は、次のsetences上でそれを実行し、[^ A-ZA-z]は
で:
show me the weather of seattle
show me the weather in seattle
show me the weather for seattle
show me the weather at seattle
と現在地結果:
Javaコードで使用すると、まったく機能しません。正規表現でも、私は最初と最後で定義されたスペースを示しています。誰かが私の正規表現が間違っているものを教えてください、どのように文
に多くの単語の一つを検索するために、私はいつもそれが正規表現に一致していないことを意味している私のJavaで他の条件を得ることができます。
public class Regex
{
public static void main(String[] args)
{
String str = "show me the weather in seattle";
if(str.matches("[^A-Za-z]of|for|in|at[^A-Za-z]")){
System.out.println("Yayyy!!");
}
else{
System.out.println("OMG now what to do");
}
}
}
'matches'文字列が完全にチェックされています。それはマッチを探していません。 regexp – turbanoff
また、 "space"は "of"の前と "at"の後ろにのみあります。 [^ A-Za-z](of | in | at)[^ A-Za-z]またはより良い、 '\\ W(of | in | | at)\\ W 'を使用してください。 –
@ turbanoff私は試しましたが、天気やシアトルにいるので "at"を取り除くと「天気のシアトルを見せてください」と一致するのも問題です。私は任意の単語の独立した出現を必要とするため、私は[^ A-Za-z]を使用しました – Yogesh