使用RegEx查找1个字母和2个数字

用户名

我最近一直在编写程序,其中一部分需要我在字符串中获取信息。我需要找到立即有1个字母后跟2个数字的位置(例如S07),我无法为此计算正则表达式。

def get_season(filenames):
    pattern = "^[a-zA-z]{1}[\d]{2}$"
    found = re.search(filenames[0], pattern)
    season_name = found.string
    season = season_name[1:3]
    print(season)

我知道此信息在字符串中,但它始终给我“无”响应

(我不太确定代码部分的格式是否正确,在预览中它显示为同一行,但是程序中的缩进是正确的)

马丁·彼得斯(Martijn Pieters)

您将参数交换为re.search()第一个参数是模式,而不是要匹配的字符串:

found = re.search(pattern, filenames[0])

您的图案也太宽;A-z也匹配Z(大写)和a(小写)之间的所有内容正确的模式是:

pattern = "^[a-zA-Z]\d{2}$"

{1}默认值在哪里,所以我省略了。

如果将其与文件名进行匹配,则可能不想使用开始或结束锚,这将将匹配限制为精确的字符串

>>> re.search("^[a-zA-Z]\d{2}$", "S07").string
'S20'
>>> re.search("^[a-zA-Z]\d{2}$", "S07E01 - Meet the New Boss.avi") is None
True
>>> re.search("^[a-zA-Z]\d{2}$", "S07E01 - Meet the New Boss.avi") is None
True
>>> re.search("[a-zA-Z]\d{2}", "S07E01 - Meet the New Boss.avi").string
'S07E01 - Meet the New Boss.avi'

而且您想用来.group()获取匹配的部分,而不是string(这是原始输入字符串):

>>> re.search("[a-zA-Z]\d{2}", "S07E01 - Meet the New Boss.avi").group()
'S07'

如果只需要数字,则需要添加一个组,然后选择该组。使用括号创建捕获组:

>>> re.search("[a-zA-Z](\d{2})", "S07E01 - Meet the New Boss.avi").group(1)
'07'

这将选择第一组(.group(1)),即2位数字部分周围的括号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

2个字母和2个数字的列表?

来自分类Dev

匹配包含1个或多个数字和0个或多个字母的单词

来自分类Dev

最多1个字母和14个数字的正则表达式

来自分类Dev

如何捕获8个数字和1个字母

来自分类Dev

如何生成随机的数字和字母串,形式(2个字母+4个数字+2个字母)示例AD1256Cv

来自分类Dev

正则表达式,用于字母和数字的组合,长度为5到30个字母,具有至少4个大写字母,2个小写字母和至少1个数字

来自分类Dev

正则表达式MySQL,查找至少包含2个字母和2个数字的字符串

来自分类Dev

删除2个字母后跟2个数字的字母数字

来自分类Dev

正则表达式-至少1个数字,1个字母,1个特殊字符和至少3个字符

来自分类Dev

Hibernate Validator(如何仅接受4个字母和10个数字)

来自分类Dev

Formfield在Rspec中应该有4个数字,后跟2个字母

来自分类Dev

无法验证输入。需要验证至少有1个数字字符和1个字母字符

来自分类Dev

如何使用至少一个数字,一个大写字母和6-20个字符来验证密码?

来自分类Dev

如何使用至少一个数字,一个大写字母和6-20个字符来验证密码?

来自分类Dev

如何检查JAVA中是否有2个大写字母,3个小写字母和1个数字

来自分类Dev

Javascript自定义正则表达式:1个字母+ 1个数字(点)1个数字

来自分类Dev

RegEx为4个字符和7个数字。没有特殊字符

来自分类Dev

使用choice()和randint()从2个范围中获取1个数字

来自分类Dev

一行正则表达式可匹配6个字母数字和2个字母

来自分类Dev

对使用正则表达式完全匹配3个字母和紧随其后的3个数字感到困惑

来自分类Dev

匹配1个字母,1个数字并允许所有特殊字符的正则表达式

来自分类Dev

preg_match捕获两个大写字母,3个数字和2个大写字母,且不超过7个数字

来自分类Dev

在SQL Server中生成具有4个字母和4个数字的8位varchar

来自分类Dev

C#中的一个字母和6个数字的正则表达式

来自分类Dev

如何匹配具有 1 个数字和 4 个字母的字符串,其中一个字母重复两次,其余字母彼此不同

来自分类Dev

如果单元格包含 1 个字母数字后跟四个数字,则显示 X

来自分类Dev

如何在C#中生成具有3个字母和6个数字的随机字母数字数组?

来自分类Dev

如何将2个数字存储在1个字节的字符中?

来自分类Dev

如何将2个数字存储在1个字节的字符中?

Related 相关文章

  1. 1

    2个字母和2个数字的列表?

  2. 2

    匹配包含1个或多个数字和0个或多个字母的单词

  3. 3

    最多1个字母和14个数字的正则表达式

  4. 4

    如何捕获8个数字和1个字母

  5. 5

    如何生成随机的数字和字母串,形式(2个字母+4个数字+2个字母)示例AD1256Cv

  6. 6

    正则表达式,用于字母和数字的组合,长度为5到30个字母,具有至少4个大写字母,2个小写字母和至少1个数字

  7. 7

    正则表达式MySQL,查找至少包含2个字母和2个数字的字符串

  8. 8

    删除2个字母后跟2个数字的字母数字

  9. 9

    正则表达式-至少1个数字,1个字母,1个特殊字符和至少3个字符

  10. 10

    Hibernate Validator(如何仅接受4个字母和10个数字)

  11. 11

    Formfield在Rspec中应该有4个数字,后跟2个字母

  12. 12

    无法验证输入。需要验证至少有1个数字字符和1个字母字符

  13. 13

    如何使用至少一个数字,一个大写字母和6-20个字符来验证密码?

  14. 14

    如何使用至少一个数字,一个大写字母和6-20个字符来验证密码?

  15. 15

    如何检查JAVA中是否有2个大写字母,3个小写字母和1个数字

  16. 16

    Javascript自定义正则表达式:1个字母+ 1个数字(点)1个数字

  17. 17

    RegEx为4个字符和7个数字。没有特殊字符

  18. 18

    使用choice()和randint()从2个范围中获取1个数字

  19. 19

    一行正则表达式可匹配6个字母数字和2个字母

  20. 20

    对使用正则表达式完全匹配3个字母和紧随其后的3个数字感到困惑

  21. 21

    匹配1个字母,1个数字并允许所有特殊字符的正则表达式

  22. 22

    preg_match捕获两个大写字母,3个数字和2个大写字母,且不超过7个数字

  23. 23

    在SQL Server中生成具有4个字母和4个数字的8位varchar

  24. 24

    C#中的一个字母和6个数字的正则表达式

  25. 25

    如何匹配具有 1 个数字和 4 个字母的字符串,其中一个字母重复两次,其余字母彼此不同

  26. 26

    如果单元格包含 1 个字母数字后跟四个数字,则显示 X

  27. 27

    如何在C#中生成具有3个字母和6个数字的随机字母数字数组?

  28. 28

    如何将2个数字存储在1个字节的字符中?

  29. 29

    如何将2个数字存储在1个字节的字符中?

热门标签

归档