Java Tutorial/Regular Expressions/Validation
Содержание
- 1 Date format consists of one or two digits followed by a hyphen, followed by one or two digits, followed by a hypen, followed by four digits
- 2 Finding duplication of words
- 3 Match a digit
- 4 Name validation
- 5 Phone number validation
- 6 Primitive address validation
- 7 String manipulation using English synonyms
- 8 Zip code validation
Date format consists of one or two digits followed by a hyphen, followed by one or two digits, followed by a hypen, followed by four digits
<source lang="java">
public class MainClass {
public static void main(String args[]) { String date = "12-12-1212"; String datePattern = "\\d{1,2}-\\d{1,2}-\\d{4}"; System.out.println(date.matches(datePattern)); }
}</source>
Finding duplication of words
<source lang="java">
import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; public class MainClass {
public static void main(String args[]) { String phrase = "a word word"; String duplicatePattern = "\\b(\\w+) \\1\\b"; Pattern p = null; try { p = Pattern.rupile(duplicatePattern); } catch (PatternSyntaxException pex) { pex.printStackTrace(); System.exit(0); } // count the number of matches. int matches = 0; // get the matcher Matcher m = p.matcher(phrase); String val = null; // find all matching Strings while (m.find()) { val = ":" + m.group() + ":"; System.out.println(val); matches++; } }
}</source>
Match a digit
<source lang="java">
public class MainClass {
public static void main(String args[]) { String candidate = "Java 6"; String pattern = "Java \\d"; System.out.println(candidate.matches(pattern)); }
}</source>
Name validation
<source lang="java">
public class MainClass {
public static void main(String args[]) { String name = "First Name"; String nameToken = "\\p{Upper}(\\p{Lower}+\\s?)"; String namePattern = "(" + nameToken + "){2,3}"; System.out.println(name.matches(namePattern)); }
}</source>
Phone number validation
<source lang="java">
public class MainClass {
public static void main(String args[]) { String phone = "123-(456)-9999"; String phoneNumberPattern = "(\\d-)?(\\d{3}-)?\\d{3}-\\d{4}"; System.out.println(phone.matches(phoneNumberPattern)); }
}</source>
Primitive address validation
<source lang="java">
public class MainClass {
public static void main(String args[]) { String addr = "my Address 12345"; String namePattern = "([A-Za-z])+ (([A-Za-z])+\\.? )?([A-Za-z])+\\s*"; String zipCodePattern = "\\d{5}(-\\d{4})?"; String addressPattern = "^" + namePattern + "\\w+ .*, \\w+ " + zipCodePattern + "$"; System.out.println(addr.matches(addressPattern)); }
}</source>
String manipulation using English synonyms
<source lang="java">
public class MainClass {
public static void main(String args[]) { String statement = "A B AA"; String tokens[] = null; String splitPattern = "A|B|C|E|(G H I J)|(AA BB CC)"; tokens = statement.split(splitPattern); System.out.println("REGEX PATTERN:\n" + splitPattern + "\n"); System.out.println("STATEMENT:\n" + statement + "\n"); System.out.println("TOKENS:"); for (int i = 0; i < tokens.length; i++) { System.out.println(tokens[i]); } }
}</source>
Zip code validation
<source lang="java">
public class MainClass {
public static void main(String args[]) { String zip = "123456"; String zipCodePattern = "\\d{5}(-\\d{4})?"; System.out.println(zip.matches(zipCodePattern)); }
}</source>