我在 Notepad++ 中尝试了几种不同的正则表达式字符串,但无法弄清楚如何实现前瞻部分。我有几千行文本,正在尝试删除可变数量的字符,并从行尾保留固定数量的字符。示例:
输入:
alhsoidoli aoisudoifu oaisoi
iodaoiu a;osidh ;oaiyu ;oisdlhidadsli
LOIHYoihdlhi OIHlohi LOHIOOLhiol oo
输出:
ifu oaisoi
dlhidadsli
OOLhiol oo
因此,查找条件将匹配行尾的最后 10 个字符并保留该字符,删除整行的其余部分。我没有可以匹配的特殊分隔符;每行都非常不同。我唯一知道的是从行尾开始的固定字符数。谢谢!
答案1
以下是完成这项工作的方法:
- Ctrl+H
- 找什么:
^.*(?=.{10}$)
- 用。。。来代替:
LEAVE EMPTY
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
^ # beginning of line
.* # 0 or more any character but newline
(?= # positive lookahead, make sure we have after:
.{10} # exactly 10 any character
$ # end of line
) # end lookahead
截图(之前):
截图(之后):