我经常处理相当大的(30+MB)文本数据文件,我需要找到在特定位置有特定字符的每一行,并对这些行进行一些手动更新。只有很少的行(大约 45 行)在位置上有给定的字符,但我似乎无法使用正则表达式来搜索它。例如,有时我需要在位置 25 搜索“G”,有时我需要在位置 15、16、17 搜索“CNW”。我可以使用什么正则表达式来找到这些?
答案1
- Ctrl+F
- 找什么:
^(?:.{24}G|.{14}CNW).*$
- 取消勾选匹配大小写
- 检查环绕
- 检查正则表达式
- 请勿检查
. matches newline
- Search in document
解释:
^ : beginning of line
(?: : start non capture group
.{24}G : 24 any character but newline then the letter G
| : OR
.{14}CNW : 14 any character but newline then the letters CNW
) : end group
.* : 0 or more any character but newline
$ : end of line