在记事本中搜索特定的字符串++

时间:2019-07-09 16:26:21

标签: regex notepad++

我的记事本++中有5000行。所有行都有大约5000行,如下所示:

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134260_06232019024054_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_00000765_06298765454111_Batch.pdf"

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134876_06232019456054_Batch.pdf"

我需要在2019_之后搜索一个数字,直到得到另一个下划线,换句话说,我需要寻找一个由xxxxxxxxx显示的数字

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_xxxxxxxxx_06232019024054_Batch.pdf"

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:2)

  • Ctrl + F
  • 查找内容:2019_\K\d+
  • 检查环绕
  • 检查正则表达式
  • 在当前文档中查找所有内容

说明:

2019_       # literally 2019_
\K          # forget all we have seen until this posiiton
\d+         # 1 or more digits

屏幕截图: enter image description here

答案 1 :(得分:1)

如果您需要它来替换数字:

ctrl+f->“替换”标签

确保在“搜索模式”中勾选“正则表达式”

Find what: 2019_([0-9]*)

Replace with: 2019_\1

该示例不会更改文本,因为它会使用完全相同的值覆盖值,但是您可以根据自己的目的对其进行修改。

它使用正则表达式在字符串“ 2019_”之后找到数字列表,并将这些数字捕获为一组。然后将每个匹配项替换为带有附加的“ 2019_”字符串的相应捕获组-因此,在这种情况下,其基本上表示“用完全相同的值替换”(有关如何使用捕获组的更多信息,请参见例如{{3} }帖子)

答案 2 :(得分:1)

对于搜索,您可以使用:

\\2019_(\d+)_

如果两个下划线之间的内容并非总是数字,则可以这样做:

\\2019_([^_]+)_

如果您需要将其替换为某些东西,请在“替换为”字段中使用它:

\\2019_ReplacementGoesHere_

它将产生:

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_ReplacementGoesHere_06232019024054_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_ReplacementGoesHere_06298765454111_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_ReplacementGoesHere_06232019456054_Batch.pdf"

如果您需要在比赛中添加内容,请使用$1

\\2019_$1AppendMe_

它将产生:

"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134260AppendMe_06232019024054_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_00000765AppendMe_06298765454111_Batch.pdf"
"\\PTMS-P-FS01.test.pcl\PTMS-RPTFiles\Batch\1037057\2019_000134876AppendMe_06232019456054_Batch.pdf"

答案 3 :(得分:0)

我不确定我们是否可以使用不同的输入,我猜这个表达式

\\\d+\\2019_\K(\d+)_\d+_[^.]+\.pdf\K

具有足够多的边界来返回所需的数字,或者可能是以下简单的数字:

2019_(\d+)

\\\d{4}_(\d+)

就可以了。

this demo的右上角对表达式进行了说明,如果您想进一步探索或简化/修改它,可以在this link中观察它如何与某些示例输入匹配如果愿意,可以逐步进行。