您的位置:首页 > 编程语言 > Java开发

在java中的正则表达式基础

2017-08-01 21:46 302 查看

1:编写程序,提示用户输入一个社会保险号码,它的格式是DDD-DD-DDDD,其中D是一个数字。程序会为正确的社保号显示“Valid SSN",否则显示Invalid SSN. 使用正则表达式验证

/**

 * 验证社保账号

 */

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class test1 {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入您的社保卡账号:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
boolean boo = judge(str);
if(boo){
System.out.println("Valid SSN");
}else{
System.out.println("Invalid SSN");
}

}

private static boolean judge(String str) {
// TODO Auto-generated method stub

String reg = "[0-9]\\d{2}[-][0-9]\\d{1}[-][0-9]\\d{3}";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}

}

2: 编写程序,使用正则表达式验证 判断邮箱的合法性 。

   例如: chensss2008@gmail.com

          916700246@qqq.com

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

 * 验证邮箱

 * @author xml

 *

 */

public class test2 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sca = new Scanner(System.in);
System.out.println("请输入您的邮箱:");
String email = sca.nextLine();
sca.close();
System.out.println("您输入的邮箱地址为:"+email);
boolean boo = verification(email);
if(boo){
System.out.println("您输入的邮箱地址通过验证!");
}else{
System.out.println("您输入的邮箱地址不能通过验证!");
}

}

private static boolean verification(String email) {
String reg = "\\A([a-zA-Z0-9_]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}

}

3:编写程序,使用正则表达式验证 电话号码的合法性

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class test3 {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入您的电话号:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
boolean boo = judge(str);
if(boo){
System.out.println("通过验证");
}else{
System.out.println("没有通过验证");
}

}

private static boolean judge(String str) {
// TODO Auto-generated method stub

String reg = "[1][3578]\\d{9}";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}

}

4: 编写程序,使用正则表达式既可以验证 电话号码 又可以验证邮箱的合法性

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

 * 验证电话和邮箱的合法性

 * @author xml

 *

 */

public class test4 {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入您的电话号或邮箱地址:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
boolean boo = judge(str)||verification(str);
if(boo){
System.out.println("通过验证");
}else{
System.out.println("没有通过验证");
}

}

private static boolean judge(String str) {
// TODO Auto-generated method stub

String reg = "[1][3578]\\d{9}";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
private static boolean verification(String email) {
String reg = "\\A([a-zA-Z0-9_]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}

}

5:编写程序,使用正则表达式验证 身份证号码的合法性

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

 * 验证身份证号码的合法性

 * @author xml

 *

 */

public class test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入您的身份证号码:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
boolean boo = judge(str);
if(boo){
System.out.println("通过验证");
}else{
System.out.println("没有通过验证");
}

}

private static boolean judge(String str) {
// TODO Auto-generated method stub

String reg = "[0-9]\\d{9}[0,1][0-9][0-3][0-9][0-9]\\d{3}";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}

}

6:编写程序,使用正则表达式验证 用户名的合法性

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class test6 {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入您的用户名:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
str = str.trim();
boolean boo = judge(str);
if(boo){
System.out.println("通过验证");
}else{
System.out.println("没有通过验证");
}

}

private static boolean judge(String str) {
// TODO Auto-generated method stub

String reg = "[a-zA-Z0-9_]{6,16}";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}

}

7:如下一个字符串:”91 27 46 38 50”

   请写代码实现最终输出结果是:”27 38 46 50 91”

import java.util.Arrays;

/**

 * 如下一个字符串:”91 27 46 38 50”

 * 请写代码实现最终输出结果是:”27 38 46 50 91”

 * @author xml

 */

public class test7 {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "91 27 46 38 50";
String[] array = str.split("[ ]");
Arrays.sort(array);
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}

}

8:论坛中不能出现数字字符,用*替换

import java.util.Arrays;

/**

 * 论坛中不能出现数字字符,用*替换

 * @author xml

 *

 */

public class test8 {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "qwe123asd";
String regex4 = "[0-9]";
str = str.replaceAll(regex4, "*"); // replaceAll 不会改变原有的值,
System.out.println(str);
}

}

9:获取功能:

   获取由三个字符组成的单词

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

 * 获取由三个字符组成的单词

 * @author xml

 */

public class test9 {
public static void main(String[] args) {
Scanner scanner= new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scanner.nextLine();
scanner.close();
Pattern pattern = Pattern.compile("\\b\\w{3}\\b");
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
String content = matcher.group();
System.out.print(content+" ");
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式 java