public SimpleDateFormat(); //按默认格式做转换
public SimpleDateFOrmat(String pattern); //按指定格式做转换
public String format(Date date); //将Date转为String
public Date parse(String dateStr) throws ParseException;//将String转成Date
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 单词边界
//非正则方式
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对象
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
如对本文有疑问, 点击进行留言回复!!
生成模型——NVAE: A Deep Hierarchical Variational Autoencoder——arxiv2020.07
Element-ui 表格 (Table) 组件中动态合并单元格
【leetcode C语言实现】剑指 Offer 19. 正则表达式匹配
Linux - 基础正则表达式、扩展正则表达式、grep使用正则表达式
网友评论