14 正则表达式补:SimpleDateFormat类 SimpleDateDormat主要是用于将日期进行格式化 , 可以将Date转成指定格式的字符串 , 也可以将字符串转成日期构造方法 :public SimpleDateFormat();//按默认格式做转换public SimpleDateFOrmat(String pattern);//按指定格式做转换成员方法 :public String format(Date date);//将Date转为Strin...
14 正则表达式
补:
SimpleDateFormat类
构造方法 :
public SimpleDateFormat();
public SimpleDateFOrmat(String pattern);
成员方法 :
public String format(Date date);
public Date parse(String dateStr) throws ParseException;
public class DateDemo1 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
Date date = new Date();
String s = sdf.format(date);
System.out.println(s);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s2 = "1999年1月30日 1:30:00";
Date parse = sdf2.parse(s2);
System.out.println(parse);
long t1 = parse.getTime();
long t2 = System.currentTimeMillis();
long t3 = t2 - t1;
System.out.println(t3 / 1000 / 60 / 60 / 24);
}
}
d |
月中的某一天 , 一位数的日期没有前导零 |
dd |
月中的某一天 , 一位数的日期有一个前导零 |
ddd |
周中某天的缩写名称,在 AbbreviatedDayNames中定义 |
ddddd |
周中某天的完整名称,在 DayNames 中定义 |
M |
月份数字 , 一位数的月份没有前导零 |
MM |
月份数字 , 一位数的月份有一个前导零 |
MMM |
月份的缩写名称 ,在 AbbreviatedMonthNames中定义 |
MMMM |
月份的完整名称 ,在 MonthNames中定义 |
y |
不包含纪元的年份 , 如果不包含纪元的年份小于 10 , 则显示不具有前导零的年份 |
yy |
不包含纪元的年份 , 如果不包含纪元的年份小于 10 , 则显示具有前导零的年份 |
yyy |
包括纪元的四位数的年份 |
gg |
时期或纪元 , 如果要设置格式的日期不具有关联的时期或纪元字符串 , 则忽略该模式 |
|
|
h |
12 小时制的小时 , 一位数的小时数没有前导零 |
hh |
12 小时制的小时 , 一位数的小时数有前导零 |
H |
24 小时制的小时 , 一位数的小时数没有前导零 |
HH |
24小时制的小时 , 一位数的小时数有前导零 |
m |
分钟。一位数的分钟数没有前导零。 |
mm |
分钟。一位数的分钟数有一个前导零。 |
s |
一位数的秒数没有前导零。 |
ss |
一位数的秒数有一个前导零。 |
f |
秒的小数精度为一位 , 其余数字被截断 |
ff |
秒的小数精度为两位 , 其余数字被截断 |
fff |
秒的小数精度为三位 , 其余数字被截断 |
ffff |
秒的小数精度为四位 , 其余数字被截断 |
fffff |
秒的小数精度为五位 , 其余数字被截断 |
ffffff |
秒的小数精度为六位 , 其余数字被截断 |
fffffff |
秒的小数精度为七位 , 其余数字被截断 |
正则表达式
概述 :
正则表达式是对字符串操作的一种逻辑公式 , 就是用事先定义好的一些特定字符 , 及这些特定字符的组合 , 组成一个 “规则字符串”, 这个 " 规则字符串" 用来表达对字符串的一种过滤逻辑 .
常用规则 :
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [ ^0-9 ]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[ ^\s ]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[ ^\w ]
X? X, 0次或1次
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
[abc] a、b 或 c(简单类)
\b 单词边界
验证QQ号
import java.util.Scanner;
public class PattrernDemo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的QQ号");
String qq = sc.next();
System.out.println(checkQQ(qq));
}
private static boolean checkQQ(String qq) {
if (qq.length() <= 5 || qq.length() >= 15) {
return false;
}
if (qq.startsWith("0")) {
return false;
}
for (int i = 0; i < qq.length(); i++) {
if (!Character.isDigit(qq.charAt(i)))
return false;
}
return true;
}
}
import java.util.Scanner;
public class PattrernDemo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的qq号");
String qq = sc.nextLine();
boolean result = checkQQ2(qq);
if(result) {
System.out.println("qq合法");
}else {
System.out.println("您的qq格式不正确");
}
}
private static boolean checkQQ(String qq) {
String regex = "[1-9]\\d{4,14}";
return qq2.matches(regex);
}
}
匹配功能
public boolean matches(String regex);
public class PattrernDemo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串手机号:");
String phone = sc.next();
String regex1 = "1[356789]\\d{9}";
System.out.println(phone.matches(regex1));
System.out.println("请输入一个邮箱账号:");
String mail = sc.next();
String regex2 = "[a-zA-Z1-9]\\w{4,14}@[a-zA-Z0-9]{2,}(\\.[a-zA-Z]{2,3})+";
System.out.println(mail.matches(regex2));
}
}
分割功能
public String[] split(String regex);
public class PattrernDemo4 {
public static void main(String[] args) {
String s1 = "ii,jj,kk";
String[] sp1 = s1.split(",");
System.out.println(Arrays.toString(sp1));
String s2 = "ii.jj.kk";
String[] sp2 = s2.split("\\.");
System.out.println(Arrays.toString(sp2));
String s3 = "ii jj kk";
String[] sp3 = s3.split("\\s");
System.out.println(Arrays.toString(sp3));
String s4 = "C:\\Users\\Apase\\Desktop\\CSDN";
String[] sp4 = s4.split("\\\\");
System.out.println(Arrays.toString(sp4));
}
}
替换功能
public String replaceAll(String regex,String replacement);
public class PattrernDemo5 {
public static void main(String[] args) {
String s = "18434763218";
String str = s.replaceAll("(\\d{3})(\\d{4})(\\d{4})","$1****$3");
System.out.println(str);
}
}
获取功能
public static Pattern compile(String regex);
public Matcher matcher(CharSequence input);
public boolean find();
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PattrernDemo6 {
public static void main(String[] args) {
String s = "jin tian yao xia yu,da jia pa bu pa ? huang bu huang ? are you sure?";
Pattern pt = Pattern.compile("\\b[a-zA-Z]{3}\\b");
Matcher matcher = pt.matcher(s);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
本文地址:https://blog.csdn.net/Baldteen_/article/details/107373006