我有以下格式的数百个参考文献
HCVSAM0123BK
c35UNI0321RS
scruni0321
XXXXXX ZZZZ WW 6个字符4个数字2个字符
我想保留前6个字符后的4位数字,但在某些情况下,它不会包含最后2个字符
我的目标是只获得ZZZZ(4位数)
例如:从HCVSAM0123BK到0123谢谢
答案 0 :(得分:3)
您可以匹配以下内容:
^\w{6}(\d+)(\w{2})?$
并且第一个捕获的组\1
就是您想要的。
演示:http://regex101.com/r/qT0lY8
回答udpated问题:
^(?!\d+$)\w{6}(\d+)(\w{2})?$
(?!\d+$)
是一个负面展示,如果该行仅为数字,则会失败,而\w
代表[0-9a-zA-Z_]
。
答案 1 :(得分:1)
搜索:^.{6}(.{4}).*
并替换为:\1
演示:http://regex101.com/r/kZ7dS8
输出:
0123
0321
0321
使用分支重置:
搜索:(?|.*(\d{4}).*)
并替换为:\1