Category Archives: Java

正则表达式中断言的使用

啰嗦几句

  1. 正则表达式中的断言叫零宽度断言,分别有以下几种情况
    • 零宽度正先行断言,表达式为(?=exp)
    • 零宽度负先行断言,表达式为(?!exp)
    • 零宽度正后发断言,表达式为(?<=exp)
    • 零宽度负后发断言,表达式为(?<!exp)
  2. 搞得很拗口,简单一点上述4种情况翻译成人话分[……]

    继续阅读

正则表达式校验密码强度

需求分析

  • 密码合法字符包括:数字、字母大小写、标点符号;
  • 密码强度一般需要以上类型的组合及长度要求;

功能实现

  1. 先分别写出以上4种组合的正则表达式
let password = 'aBcdefg123!'
// 数字
let reg1 = '\\d';
// 字母
let reg21[......]

继续阅读

随机存储实现动态数组ArrayList

1、List

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.yusian;
 
public interface List<e> {
 
	static final int ELEMENT_NOT_FOUND = -1;
	/**
	 * 获取数组长度
	 * @return 数组长度
	 */
	public int size();
 
	/**
	 * 是否为空
	 * @return true / false
	 */
	public boolean isEmpty();
 
	/**
	 * 是否包含某元素
	 * @param element
	 * @return true / false
	 */
	public boolean contains(E element);
 
	/**
	 * 添加元素,默认添加到末尾位置
	 * @param element
	 */
	public void add(E element);
 
	/**
	 * 获取元素
	 * @param index 索引
	 * @return 值
	 */
	public E get(int index);
 
	/**
	 * 替换元素
	 * @param index 索引
	 * @param element 元素
	 * @return 原元素内容
	 */
	public E set(int index, E element);
 
	/**
	 * 添加元素
	 * @param index 索引
	 * @param element 元素值
	 */
	public void add(int index, E element);
 
	/**
	 * 移除元素
	 * @return 返回被移除元素
	 */
	public E remove(int index);
 
	/**
	 * 获取元素索引
	 * @param element
	 * @return 索引
	 */
	public int indexOf(E element);
 
	/**
	 * 清除数组
	 */
	public void clear();
}
 
</e>

2、AbstractList


[……]

继续阅读

正则表达式的基本使用

1、元字符:’\b’,代表单词的开关或结尾
1.1、使用正则表达式hi,会匹配除了hi本身外,所有包含hi的单词,如him,history…
1.2、\bhi\b则只能匹配单词hi;

2、元字符:’.’和’*’,
2.1、’.’匹配除换行符外的所有字符,’*’指执行任意次匹配;
2.2、如:\bhi\b.*\bLuck\b 以单词hi开头并且以Luck单词结尾同一行的句子;

3、元字符:’\d’,代表数字
3.1、0\d\d-\d\d\d\d\d\d\d\d\d 表示匹配格式如010-12345678这样的数字
3.2、上面还可以写成0\d{2}-\d{8},'{}’表达重复次数,并且必须重复该次数;

4、元字符:’\s’、’\w’
4.1、’\s’匹配任意的空白符(包括空白符、包括空格、制表符、换行符、中文全角空格等);
4.2、’\w’匹配字母或数字或下划线或汉字
4.3、\ba\w*\b:以’a’开头的任意单词;
4.4、\d+:匹配一位或更多位数字;PS:’*’与’+’的区别在于前者为任意次,后者至少1次;
4.5、\b\w{6}\b:6个字符的单词

5、元字符:’^’和’$’
5.1、’^’表示匹配的开始,’$’表示匹配的结束
5.2、^\d{5,12}$:匹配5-12位数字组合;[……]

继续阅读

Java基础之多线程的基本实现

1、实现方式一:继承Thread类,重写run方法

1
2
3
4
class Demo{
	public static void main(String [] args){
		SAThread thread1 = new SAThread();
		SAThread thread2 = new SAThrea[......]<p class="read-more"><a href="https://www.yusian.com/blog/java/2017/03/17/140012953.html">继续阅读</a></p>