我有一个长文本文件,如下所示:
种:Sorbus subcuneata | 萨默塞特白面子树 日期:2007-09-30 英格兰 OSGR:SS7448
种:Sorbus subcuneata | 萨默塞特白面子树 日期:2007-09-30 英格兰 OSGR:SS7448
种:Sorbus subcuneata | 萨默塞特白面子树 日期:2001-10-02 英格兰 OSGR:SS74394901
我想提取仅有的“SS****”字符串(有些有 4 位数字,有些有 6 位,有些有 8 位)。
我已经在论坛上搜索了有关正则表达式的各种解释,但它们似乎都是更为复杂的场景,而我太菜鸟了,无法对它们进行逆向工程来做一些这样简单的事情。
提前感谢任何提示!
答案1
答案2
- Ctrl+F
- 找什么:
\bSS(?:\d\d){2,4}\b
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- Find All in Current Document
解释:
\b # word boundary
SS # literally SS
(?: # non capture group
\d\d # 2 digits
){2,4} # group may appear 2,3 or 4 times
\b # word boundary
截屏:
如果要删除除 之外的所有内容SS...
,请使用:
- Ctrl+H
- 找什么:
^.*?\b(SS(?:\d\d){2,4})\b.*$
- 用。。。来代替:
$1
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all