
匹配特定格式的数字序列
要求匹配一组由空格分隔开的数字序列,限定条件如下:
- 长度为 6 至 7 位
- 只能包含数字或星号(*)
正则表达式解决方案
我们可以使用 Python 的正则表达式模块进行匹配。以下代码展示了如何验证上述格式:
import re
def check_format(input_string):
# 正则表达式匹配 6 或 7 个由空格分隔的数字或星号
pattern = r'^(\d|\*)+(\s(\d|\*)+){5,6}$'
match = re.fullmatch(pattern, input_string)
return match is not None该正则表达式逐一分解如下:
- ^(\d|\*)+: 序列的开头包含一个或多个数字或星号。
- (\s(\d|\*)+){5,6}: 序列包含由 5 或 6 个空格分隔的数字或星号组成的组。
- $: 确保序列的结尾与模式匹配。
用法示例
要验证一个输入字符串,我们可以使用以下代码:
input_string = "1 2 3 4 * 6" result = check_format(input_string) print(result) # True input_string = "12345" result = check_format(input_string) print(result) # False










