首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于unix纪元时间戳的Notepad++正则表达式

用于unix纪元时间戳的Notepad++正则表达式
EN

Stack Overflow用户
提问于 2020-11-19 09:46:11
回答 2查看 183关注 0票数 1

我有一个文本文件,其中包含unix纪元时间戳和大量乱码文本。因此,我需要检查以非数字字符开头和结尾的10位数字。

我试过了:

代码语言:javascript
复制
[:alpha:]([0-9]{10})[:alpha:]

但它不起作用。

EN

回答 2

Stack Overflow用户

发布于 2020-11-19 10:26:52

也许POSIX :alpha:不适用于Notepad++

[:alpha:]等于[a-zA-Z],在您的情况下也可以用\D (等于一个非数字)代替

你有没有尝试过这些方法之一:

(fist将选择10位数字,包括2个额外的开始/结束字符

其他具有前视/后视功能的用户只需选择精确的10位数字)

  • \D([0-9]{10})\D
  • (?<=\D)([0-9]{10})(?=\D)阳性lookahead/lookbehind
  • (?<!\d)([0-9]{10})(?!\d)阴性lookahead/lookbehind
票数 1
EN

Stack Overflow用户

发布于 2020-11-19 10:36:45

我刚刚用notepad++测试了这个文本:

代码语言:javascript
复制
aaa1234567890bbb
11.1234567890@99
too short:123456789

捕获号码搜索:(?<=\D)(\d{10})(?=\D)

  • replace:(任意选择;使用$1表示捕获的号码)

解释:

捕获-非数字字符的正向后视(no capture)

  • (\d{10}) -
  • (?<=\D) 10 digits
  • (?=\D) -非数字字符的正向前视(无捕获)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64904164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档