正则表达式的首字母用逗号分隔?

时间:2019-12-04 06:56:34

标签: python regex

我正在尝试创建一个正则表达式,该正则表达式可用于验证字符串是否仅包含首字母,如果有多个首字母,则后面跟逗号。

这是我设法做到的最好: "^([A-Za-z],[A-Za-z],[A-Za-z])$" 通过用""替换所有空格。

允许的字符串示例为a, b, c, d, f, g

不会通过的将是a, b, c, df, e

这仅适用于恰好3个首字母缩写,因此我想知道如何使它与或多或少的首字母缩写一起使用,同时又不让任何异常值通过。

编辑: ^([A-Za-z],([A-Za-z],)*[A-Za-z])$"似乎工作得很好,但是我将如何更改此代码以使其仅适用于1个字符(因为我需要最后一个字符,因此通常在其后没有逗号)

2 个答案:

答案 0 :(得分:1)

尝试以下模式:

^[A-Za-z](?:,\s+[A-Za-z])*$

这会匹配一个字符/首字母,然后是零个或多个逗号,然后是空格和另一个首字母。

Demo

答案 1 :(得分:0)

您可以使用此正则表达式匹配首字母缩写,它不查看逗号,仅查看缩写字母并匹配找到的多个首字母:

(?:[a-zA-Z][a-zA-Z])