发表于: 2017-12-08 23:32:37
1 902
今天完成的事
今天依然是对接口文档进行修改,框架尚未搭好
今天完成的事情:认真地研究了一下正则表达式 以及java对正则的应用
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern)。
可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等
在java里面 本身提供了正则相关的类 我们首先要知道两个类 在 java.util.regex.下Matcher 和 Pattern
Matcher 下有一个matches方法 public boolean matches()尝试将整个区域与模式匹配。
当且仅当整个区域序列匹配此匹配器的模式时才返回 true。
Pattern下有两个常用方法 compile和 matcher
static Parrent compile(String regex) 将给定的正则表达式编译到模式中。
public Matcher matcher(CharSequence input)创建匹配给定输入与此模式的匹配器。
java中典型的调用顺序如下
Pattern p = Pattern.compile("a*b"); 将给定的正则表达式的形式 编译到模式中
Matcher m = p.matcher("aaaaab"); 创建相关的匹配
boolean b = m.matches(); 判断 输入的字符串是否匹配 我们给定的正则表达式 返回true 或者 false
这里还是从头说起 看一下 正则表达式的基础知识
首先 元字符的概念
的元字符,metacharacter 是正则表达式规定的一个特殊代码
根据不同的功能 我把它分为 位置 字符 数量
它包括很多 比如\b
/b 代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,
但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。
零宽断言 算是正则的一个进阶使用吧
简单地理解就是在一个限定位置的字符串之前或之后进行匹配查找
正向就是满足相关 负向就是后面不是相关
(?=exp):零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。
(?<=exp):零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达式exp
(?!exp):零宽度负预测先行断言,断言此位置的后面不能匹配表达式exp。
?<!exp):零宽度负回顾后发断言来断言此位置的前面不能匹配表达式exp
明天计划的事情:继续写接口
遇到的问题:正则表达式 博大精深 不懂
收获:学习到了很多正则表达式的知识
复习了一波数据类型 相互转换
整形 字符型 浮点型的数据在混合运算中互相转化 转换时遵循以下原则
容量小的类型自动转换成成容量大的类型
byte short char < int < long <float <double 这里注意的是并不是严格意义上的容量 而是能表示的最大
byte short char 他们三个之间不会相互转换 在进行运算时会自动转成int
容量大的数据类型转换成容量小的数据类型时 需要加 强制转换符 但可能造成精度降低 或者溢出
在有多种类型的数据混合运算时 系统首先自动的将所有数据转换成容量最大的哪一种数据类型 然后计算
这里要 注意的是 实数常量 1.2 默认为double 整数常量 12 默认为int
明天要做的事
先把禅道拆了
收获
复习java基础
遇到的问题
无
评论