当前位置: 首页 > 知识库问答 >
问题:

正则表达式计数并从列打印

宦飞
2023-03-14

我试图在一列中计算匹配的正则表达式,并打印出找到的金额,下面的代码一直给我0。我有一种感觉,它并没有遍历整个专栏?我的代码如下。

import re

pattern = ('/^[A-Z]{1}\d{8}$/i')
numbers = jan_df['Student Number']

iterator = re.finditer(pattern, str(numbers))
count = 0

for match in iterator:
    count+=1
print(count)

共有1个答案

东方富
2023-03-14

你可以用

df.loc[df['Student Number'].str.contains(r'^[A-Za-z]\d{8}$'), :].shape[0]

或者,如果您计划使用更具体的正则表达式并需要使其不区分大小写:

df.loc[df['Student Number'].str.contains(r'^[A-Z]\d{8}$', case=False), :].shape[0]

# or

df.loc[df['Student Number'].str.contains(r'(?i)^[A-Z]\d{8}$'), :].shape[0]

注意事项:

  • Python中的正则表达式是用字符串文字定义的,而不是正则表达式文字,因此不能使用//我是你需要的东西 以标志作为选项,或作为内联标志((?i)

相关SO员额

  • 如何通过正则表达式过滤熊猫中的行
  • 如何获取Pandas DataFrame的行数?
  • 正则表达式适用于regex101.com,但不适用于prod。

 类似资料:
  • 问题内容: 假设我有一个文件,该文件包含以下内容: 我编译一个模式以查找“ Hello” 然后,我使用inputstream读取文件并将其转换为String,以便可以对其进行正则表达式处理。 匹配器在文件中找到匹配项后,就会进行指示,但不会告诉我找到了多少个匹配项。只是它在字符串中找到了一个匹配项。 因此,由于字符串相对较短,并且我正在使用的缓冲区为200个字节,因此它应该找到三个匹配项。但是,它

  • 本文向大家介绍计算Java正则表达式的组数,包括了计算Java正则表达式的组数的使用技巧和注意事项,需要的朋友参考一下 通过将多个字符捕获为一组,可以将多个字符视为一个单元。您只需要将这些字符放在一组括号内即可。 您可以使用Matcher类的groupCount()方法计算当前匹配项中的组数。此方法计算当前匹配项中的捕获组数并返回。 示例 输出结果

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用

  • 一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正则表达式在线工具 二、匹配单个字符 . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; . 是元字

  • 这部分内容可以说是学习shell脚本之前必学的内容。如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强。所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习。一定要多加练习,练习多了就能熟练掌握了。 在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模