我正在尝试替换数据转储中的所有内容,并使用记事本 ++ 正则表达式仅保留该转储中的十位数字。
试图做这样的事情,(?<!\d)0\d{7}(?!\d)但没有运气。
在旧版本的 Notepad++ 中存在无法处理 PCRE 表达式的问题。这个提议的解决方案在 NotePad++ v6.8.8 中进行了测试,但应该适用于 v6.2 之后的任何版本。
([0-9]{10})|.
Run Code Online (Sandbox Code Playgroud)

用。。。来代替: $1
该表达式将执行以下操作:
来自记事本++
按ctrlh进入查找和替换模式
选择正则表达式选项
在“查找内容”字段中放置正则表达式
在“替换为”字段中输入 $1
点击 Replace all
现场演示
https://regex101.com/r/fZ9vH7/1
源文本
fdsafasfa1234567890zzzzzzz12345
Run Code Online (Sandbox Code Playgroud)
更换后
1234567890
Run Code Online (Sandbox Code Playgroud)
NODE EXPLANATION
----------------------------------------------------------------------
( group and capture to \1:
----------------------------------------------------------------------
[0-9]{10} any character of: '0' to '9' (10 times)
----------------------------------------------------------------------
) end of \1
----------------------------------------------------------------------
| OR
----------------------------------------------------------------------
. any character except \n
----------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
OP 不清楚如何处理超过 10 个字符的数字子串。如果超过 10 位数字的字符串是不可取的并且需要全部删除,则使用此
([0-9]{10})(?![0-9])|[0-9]+|.
Run Code Online (Sandbox Code Playgroud)

用。。。来代替: $1
现场演示:https : //regex101.com/r/aS4sN1/1