在 Python pandas 中使用正则表达式查找组合数字和字母的特定字符序列
Find specific sequence of characters combining number and letters using regex in Python pandas
我正在尝试查找 pandas DataFrame 中的所有行,其中 col
列采用 1234-XX-YYY
格式的值,其中 XX
是占位符任意两个大写字母 (A-Z) 和 YYY
是任意三个数字的占位符 [0-9].
到目前为止,这是我的代码
怎样才能达到预期的效果?
df[df['col'].str.contains('^1234-\[A-Z]{2}\[d]{3}', na=False)]
当您转义一个开放的 [
时,您告诉正则表达式引擎将其作为文字字符进行匹配。如果您希望 -
出现在字符串中的某个位置,则需要将其添加到模式中。此外,如果您希望出现大写字母,则需要 A-Z
,而不是 a-z
。
使用
^1234-[A-Z]{2}-[0-9]{3}$
详情
^
- 字符串开头
1234-
- 文字字符串
[A-Z]{2}
- 两个大写字母
-
- 一个连字符
[0-9]{3}
- 三位数
$
- 字符串结尾。
我正在尝试查找 pandas DataFrame 中的所有行,其中 col
列采用 1234-XX-YYY
格式的值,其中 XX
是占位符任意两个大写字母 (A-Z) 和 YYY
是任意三个数字的占位符 [0-9].
到目前为止,这是我的代码
怎样才能达到预期的效果?
df[df['col'].str.contains('^1234-\[A-Z]{2}\[d]{3}', na=False)]
当您转义一个开放的 [
时,您告诉正则表达式引擎将其作为文字字符进行匹配。如果您希望 -
出现在字符串中的某个位置,则需要将其添加到模式中。此外,如果您希望出现大写字母,则需要 A-Z
,而不是 a-z
。
使用
^1234-[A-Z]{2}-[0-9]{3}$
详情
^
- 字符串开头1234-
- 文字字符串[A-Z]{2}
- 两个大写字母-
- 一个连字符[0-9]{3}
- 三位数$
- 字符串结尾。