正则表达式
同时搜索
或运算符“|”
跨文件搜索
Ctrl+Shift+F
通配符的基本用法
- . 将匹配任意一个字符
- +查找出现一次或多次的字符 例如hahhhhh,可以使用正则表达式hah+来匹配
- ‘*’匹配零次或多次出现的字符, hahhhhh使用正则表达式hah乘号来匹配,还可以匹配ha字符串
- ? 检查前一个元素存在与否,如正则表达式colou?r、favou?rite中通配符“?”前面的u字符存在和不存在两种情况的字符串都会匹配
- {a,b} 指出现a到b次匹配
- [abc] 匹配具有多种可能性的字符集 匹配"bag","big"和"bug",而不是"bog"。你可以创建正则表达式/b[aiu]g
- [0-5] 匹配 0 和 5 之间的所有数字,包括 0 和 5
- [^] 定义不想要匹配的字符.例如[^aeiou]排除元音的所有字符
快捷方式
- \w 匹配字母数字[A-Za-z0-9_] 注意,这个character sets 字符集还包括下划线字符“_”
- \W 搜索\w 的相反方向(非字母数字)。需要注意相反的模式使用大写字母。此快捷方式与[^A-Za-z0-9_]相同
- \d 搜索数字字符集[0-9]
- \D查找非数字字符,等于字符集[^0-9]
贪婪匹配 vs. 懒惰匹配
当?前面是通配符,加入?表示将贪婪匹配改为懒惰匹配
- greedy 贪婪匹配找到符合正则表达式模式的字符串的最长可能部分
- lazy 懒惰匹配,是找到符合正则表达式模式的字符串的最小可能部分
例如: t[a-z]i应用于字符串"titanic"
greedy 贪婪匹配:titani
lazy 懒惰匹配:ti
"<h1>Winter is coming</h1>"
想要只匹配两头的"<h1>,则用<.?>"
一些特殊位置和特殊字符
“^”用于表示字符串的开头
“$”表示字符串的末尾 (在[]之外)
\s 搜索空格
\n:换行(光标到下行行首);
\r:回车(光标到本行行首);
\f:换页;
\t:水平跳格(水平制表);
\v:垂直跳格(垂直制表)。
使用捕获组复用模式
(and)可以定义capture groups 捕获组,用于查找重复的子串.
可以使用反斜杠“\”,然后使用数字。该数字从 1 开始,并随着用括号定义的捕获组数量而增加。比如\1 来匹配前面通过括号定义的第一个捕获组
(\d+)\s\1\s\1 可搜索 333 33 22 或 32 134134 234 或 985 211 996
基本的字符串搜索替换方法
- 键跨文件替换(Ctrl+Shift+H)和文件内替换(Ctrl+H)
复用捕获组的方式进行替换
使用美元符号1>
练习题

网友评论