【重新整理】正则表达式,MD, VIM相关操作

抽空重新整理的笔记, 正则用的少, 重新整理也是想简单过遍脑子,其实还是记不住,vim部分还没完成, 有空再补吧。

正则表达式基础知识


按类型划分

数量词* + ?

负责控制前面匹配字符的次数

符号 作用
星号(*) 星号代表匹配它前面一个字符任意遍(0或任意次)
加号(+) 它也是数量词,表示匹配前面的字符一次或多次(至少一次), 它与星号的差别,星号可以匹配0次加号则必须一次以上
问号(?) 问号也是一个数量词,它代表匹配前一个字符0或1次

Greedy 贪婪模式 默认

Reluctance 勉强模式 *? +? ??

Possessive 占有模式 *+ ++ ?+

中括号

中括号用来表示一个字符集合,如果这个集合有很多元素,如26个字母,数字等,一个个地写在中括号里,未免太麻烦太蠢笨,这时可以用连字符(hyphen)来表示一个范围

符号 作用
[a-z] 小写字母集合
[a-zA-Z] 大小写集合
[^caret] 匹配任何不在该集合中的字符

特殊字符

符号 作用
. 任何字符
\w 字母和数字 等价于[a-zA-Z0-9]
\W 非字母及数字 等价于[^a-zA-Z0-9_]
\s 匹配一个空格字符,包括 空格,换行,回车,tab 等价于[\n\r\t\f]
\S 匹配非空格字符,等价于[^ \f\n\r\t\v]
\d 数字
\D 非数学
\r 匹配一个回车符。等价于 \x0d 和 \cM
\f 匹配一个换页符。等价于 \x0c 和
\n 匹配一个换行符。等价于 \x0a 和 \cJ
\t 匹配一个制表符。等价于 \x09 和 \cI
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK

大括号

重复前面一个字符的多少遍

符号 作用
{N} 重复N遍前面字符
{n,m} 重复n到m遍
{n,} 至少n遍
{,m} 至多m遍

定位符,边界匹配器

符号 作用
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
\b 匹配单词边界, 也就是指单词和空格间的位置。//例如, ‘er\b’ 可以匹配”never” 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。
\B 与上面相反, 匹配非单词边界。’er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’

使用过程中遇到的经验

String uri = "/resources/:resource/actions/:action";

replace替换:resource, :action为([^#/?]+)

// 1.首先 :冒号 确定是: 开头
// 2.括号 () 这里我试验了,拿掉也是可以的, 最好是加上
// 3.\\w 是确定: 后面根的是词,不能是符号
// 4.+ 1次或多次,不能没有,所以不能是*或?
uri.replaceAll(":(\\w+)", "([^#/?]+)");

// 再看这个 ([^#/?]+) 的意义
// 就是在()这个组里,排除 #/? 三个符号,有就不行, 
// ^表示排除,+表示1个或多个

Md

[toc]目录

--- 分隔线

> 引用

列表

无序列表*,+,-

 无序列表:
 - 1级列表
    - 2级列表
        - 3级列表

有序列表数字加点加空格

1.空格red
2.空格green

加粗**text**

斜体*text*

表格

1 | 列2 | 列3
-|-|- =====>>>>> 这句是关键
用户1| 访问url | 5-18
用户2| 访问url | 3-18

链接

This is an [example link](http://example.com/).

This is an [example link](http://example.com/ "With a Title").

定变量的形式 [Google][1] [Yahoo][2] or [MSN][3].
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"

图片

形式1:
![alt text][id]
[id]: /path/to/img.jpg "Title"

形式2:
![alt text](/path/to/img.jpg "Title")

Vim

猜你喜欢

转载自blog.csdn.net/zyjcxc/article/details/79513129