首页 > 解决方案 > 正则表达式匹配第 4 个字符后的其余字符串

问题描述

这是我的随机数列表

r7l5ndecvz9
0qb6rtxsd6ui
dj5iuzpq5vn
rysquf0jkek
435vw5h2qag

我想要做的是匹配或修剪字符数(比如说4)之后的其余部分,我想输出如下:

r7l5
0qb6
dj5i
rysq
435v

看,我只想匹配第 4 个字符之后的其余字符。我尝试了这个正则表达式.{4}\b,但它只匹配最后 4 个字符。我也试过这个表达式^(\S\S\S\S),但它只匹配前 4 个字符。我想在第 4 个字符之后匹配其余部分。知道我做错了什么吗?

标签: regex

解决方案


给定示例输入和输出,您希望捕获前四个字符。正则表达式是^(.{4})

插入符号匹配行首,点匹配任何字符,大括号中的 4 表示出现 4 次,括号捕获结果以供以后访问。

这是工作的 Python 代码:

import re
inputs = ['r7l5ndecvz9','0qb6rtxsd6ui','dj5iuzpq5vn','rysquf0jkek','435vw5h2qag']
for str in inputs:
    match = re.search('^(.{4})',str)
    print(match.group(0))

推荐阅读