fork download
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3.  
  4. class RegexTest {
  5.  
  6. /* Validação. */
  7. public static final Pattern PADRAO = Pattern.compile(
  8. "^[([\\p{L}&&[\\p{IsLatin}]]|0-9| |'|-]+$");
  9.  
  10. /* Testes positivos. */
  11. public static String[] positivos = {
  12. "á é í ó ú",
  13. "ã ẽ ĩ õ ũ",
  14. "Á È Ĩ Ã ó",
  15. "aeiou",
  16. "abc def ghi",
  17. "um 23 45",
  18. "Um - 2 - tres quatro",
  19. "Um' 2 três' quatro",
  20. "maçã",
  21. "Â Ê Î ô û",
  22. "á Ae Éi Ĩô O",
  23. "O rato roeu a roupa do rei de Roma",
  24. "áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜâêîôûÂÊÎÔÛãẽĩñõũÃẼĨÑÕŨçÇ"
  25. };
  26.  
  27. /* Testes negativos. */
  28. public static String[] negativos = {
  29. ".",
  30. "*",
  31. "/",
  32. "<",
  33. "≃",
  34. "^",
  35. "~",
  36. "()",
  37. "#",
  38. "中国"
  39. };
  40.  
  41. public static void main(String[] args) {
  42. for (final String s : positivos) {
  43. boolean b = isValid(s);
  44. System.out.println(b + (b ? " ok - " : " oops - ") + s);
  45. }
  46. for (final String s : negativos) {
  47. boolean b = isValid(s);
  48. System.out.println(b + (b ? " oops - " : " ok - ") + s);
  49. }
  50. }
  51.  
  52. public static boolean isValid(final String string) {
  53. return PADRAO.matcher(string).matches();
  54. }
  55. }
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
true ok - á é í ó ú
true ok - ã ẽ ĩ õ ũ
true ok - Á È Ĩ Ã ó
true ok - aeiou
true ok - abc def ghi
true ok - um 23 45
true ok - Um - 2 - tres quatro
true ok - Um' 2  três' quatro
true ok - maçã
true ok - Â Ê Î ô û
true ok - á Ae Éi Ĩô O
true ok - O rato roeu a roupa do rei de Roma
true ok - áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜâêîôûÂÊÎÔÛãẽĩñõũÃẼĨÑÕŨçÇ
false ok - .
false ok - *
false ok - /
false ok - <
false ok - ≃
false ok - ^
false ok - ~
false ok - ()
false ok - #
false ok - 中国