注意事项:在VSCode中使用时,要先把通配符开关打开(开关是查找输入框右边的".*"符号)
转义字符
|
匹配内容
|
\t
|
tab
|
\r
|
回车符号\r
|
\n
|
换行符号\n
|
\
|
特殊符号转义,如"*" ,转义后匹配的是字符"*", “(” 匹配的是括号"("
|
[字符序列]
|
匹配[ ]中的任意字符,如[ae],字符a和字符e均匹配
|
[^字符序列]
|
匹配不在[ ]中的任意字符,如[^ae]除了a和e,其他字符都匹配
|
[字符1-字符2]
|
匹配在[ ]之间的任意字符,如[a-x],就是匹配a和x之间的所有字符(包括a和x)
|
.
|
匹配任意单个字符(除了\n)
|
\w
|
匹配所有单词字符(如"a",“3”,“E”,但不匹配"?","."等)
|
\W
|
和\w相反,匹配所有非单词字符
|
\s
|
匹配空格
|
\S
|
和\s相反,匹配非空格
|
\d
|
匹配数字字符,如"1",“4”,"9"等
|
\D
|
和\d相反,匹配除了数字字符外的其他字符
|
*
|
将前面的元素匹配0到多次,如"\d*.\d",可以匹配"19.9",".0",“129.9”
|
+
|
将前面的元素匹配1到多次,如"be+",可以匹配"be", “beeeeee”
|
?
|
将前面的元素匹配0次或者一次,如"rai?n" 可以且只可以匹配 “ran” 或者 “rain”
|
{n}
|
n是个数字,将前面的元素匹配n次,如"be{3}“可以且只可以匹配 ”beee”
|
{n, m}
|
将前面的元素匹配至少n次,最多m次,如"be{1,3}" 可以且只可以匹配"be",“bee”, “beee”
|
|
|
相当于"或",表示匹配由
|
1,搜索以 SELECT开头以GROUP BY comment_approved结尾,中间是单词或或非单词的(跨行搜索)的数据
SELECT[\w\W]*GROUP BY comment_approved
注意事项:在VSCode中使用时,要先把通配符开关打开(开关是查找输入框右边的".*"符号)转义字符匹配内容\ttab\r回车符号\r\n换行符号\n\特殊符号转义,如"*" ,转义后匹配的是字符"*", “(” 匹配的是括号"("[字符序列]匹配[ ]中的任意字符,如[ae],字符a和字符e均匹配[^字符序列]匹配不在[ ]中的任意字符,如[^ae]除了a和e,其他字符都匹配[字符1-字符2]匹配在[ ]之间的任意字符,如[a-x],
文本编辑器设置
虽然现在几乎所有的文本编辑器都支持正则表达式,但我在本教程中用的是 Visual Studio Code,不过你可以使用任何你喜欢的编辑器。另请注意,你通常需要在搜索输入框附近的某处打开 RegEx 开关。以下是在 VS Code 中执行此操作的方法:
你需要通过选中此选项启用RegEx
1) . — 匹配任何字符
让我们开始吧。点符号 . 用来匹配任何字符:
上面的正则匹配 bot,`bat和任何以
做日志分析工作的经常需要跟成千上万的日志条目打交道,为了在庞大的数据量中找到特定模式的数据,常常需要编写很多复杂的正则表达式。例如枚举出日志文件中不包含某个特定字符串的条目,找出不以某个特定字符串打头的条目,等等。
使用否定式前瞻
正则表达式中有前瞻(Lookahead)和后顾(Lookbehind)的概念,这两个术语非常形象的描述了正则引擎的匹配行为。需要注意一点,正则表达式中的前和后和我们一般理解的前后有点不同。一段文本,我们一般习惯把文本开头的方向称作“前面”,文本末尾方向称为“后面”。但是对于正则表达式引擎来说,因为它是从文本头部向尾部开始解析的(可以通过正则选项控制解析方向),因此对
创建,使用 'w'。不存在则创建。
with open(os.path.join(experiment_dir, "progress.txt"), 'w') as doc:
doc.write("Epoch\tAverageEpRet\n")
写入内容,使用 'a'。追加模式
with open(os.path.join(experiment_dir, "progress.txt"), 'a') as doc:
doc.write(f"{i_episode}\t{stats.episode_rewar
正则真的好用,平时工作用正则最多的地方就是在编辑器里做查找替换,之前系统学习了一段时间的正则但有些技巧长时间不用有些生疏了,现在重新捡起来顺便记录一下。
基本的替换操作
ctrl+h可以唤出替换界面,选定.*可以开启正则匹配模式,在上面那行输入正则表达式,下面那行输入替换字符串
括号匹配示例
示例将字符串顺序交换
字符串:example = test
正则表达式: (\w+)\s*=\s*(\w+)
替换表达式:$2 = $1
说明:用括号包含的子表达式会按照顺序被匹配为$n
非捕获型括号
如果只是想用括
在 VS Code 中使用正则表达式搜索 base64 可以按照以下步骤进行:
1. 打开要搜索的文件,按下 `Ctrl + F`(Windows)或 `Cmd + F`(Mac)打开搜索栏。
2. 点击搜索栏右侧的 `.*` 按钮,将搜索模式改为正则表达式模式。
3. 在搜索栏中输入以下正则表达式:`([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)`。
4. 点击搜索栏右侧的搜索按钮或按下 `Enter` 开始搜索。
5. 搜索结果会显示在编辑器中,可以使用编辑器提供的替换功能进行替换或者手动修改。
以上正则表达式可以匹配 base64 编码字符串,包括以等号结尾的字符串。