文字列に次の任意の数を含めることができる正規表現を作成する必要があります。
- 英数字
- スペース
- ((
- )。
- &
- 。
他の文字は使用できません。RegexBuddyを使用して、次の正規表現を作成しました。これは、RegexBuddy内でテストすると正しく機能します。
\w* *\(*\)*&*\.*
次に、RegexBuddyの「使用」機能を使用してこれをJavaコードに変換しましたが、単純なテストプログラムを使用すると正しく機能しないようです。
public class RegexTest
{
public static void main(String[] args)
{
String test = "(AT) & (T)."; // Should be valid
System.out.println("Test string matches: "
+ test.matches("\\w* *\\(*\\)*&*\\.*")); // Outputs false
}
}
- 正規表現に関しては、私には少し盲点があることを認めなければなりません。なぜそれが機能しないのか誰かが説明できますか?