0

所以我有一个日志文件,其中包含从一个文件夹复制到另一个文件夹的文件列表。

例如,

8 月 12 日 17:23:51 C:\Users\Folder_1\File1.exe 移动到 D:\Users\Folder_1\File1.exe 8 月 12 日 17:24:33 C:\Users\Folder_2\File2.xml 移动到 D: \Users\Folder_1\File2.xml

所以我想提取上面一行中的 2 个路径并写到另一个文本文件中。

例如,

C:\Users\Folder_1\File1.exe D:\Users\Folder_1\File1.exe

我不确定如何在这里编写正则表达式。我想在正则表达式模式中实现的是说 C 驱动器,忽略路径的长度,只忽略 exe 文件。尝试过类似 "(C:\)(.exe)" 的方法,但不起作用。

如果 any1 可以为我提供正则表达式及其用途的特殊字符列表,我将不胜感激。例如 /d 表示十进制 /D 不是十进制等。我仍然无法弄清楚 /< /> /b 是什么?!字符意味着虽然我仍然看到人们使用它的帖子。

4

1 回答 1

6

regex会帮助你

[CD]:\\.+?.exe

就符号而言,我引用了其中的一些

  • [abc] 单个字符:a、b 或 c
  • [^abc] 任何单个字符,除了:a、b 或 c
  • [az] 范围 az 中的任何单个字符
  • [a-zA-Z] az 或 AZ 范围内的任何单个字符
  • ^ 行首
  • $ 行尾
  • \A 字符串开头
  • \z 字符串结尾 -。任何单个字符
  • \s 任何空白字符
  • \S 任何非空白字符
  • \d 任意数字
  • \D 任何非数字
  • \w 任何单词字符(字母、数字、下划线)
  • \W 任何非单词字符
  • \b 任何单词边界
  • (...) 捕获所有包含的内容
  • (a|b) a 或 b
  • 一种?零个或一个
  • a* 零个或多个 a
  • a+ 一个或多个
  • a{3} 正好 3 个
  • a{3,} 3 个或更多
  • a{3,6} 介于 3 和 6 之间

如需更多regex帮助,请尝试本教程

于 2013-08-28T04:51:31.493 回答