使用 regex 在 Python if statement

我正在努力了解如何启用 regex 在 python if statement. 我有 pandas dataframe, 在我经过行的地方,我想每次线都包含特定文本组合时执行动作。 regex 必须对应于以大写字母开头的任何7个字符串,然后是 6 数字 /例如, R142389/


for index, row in df1.iterrows//:
if row[4] == REGEX HERE:
Perform Action


我做得对吗? 任何帮助都会非常感激!
已邀请:

龙天

赞同来自:

是的,你可以做到 , 刚使用
match

, 它只匹配在比较它的线路的开头。 你必须使用
search

搜索整个行。

有点解释 regex:


^

批准行开头的位置


[A-Z]

A-Z 来自的一个符号 A /指数 65/ 到 Z /指数 90/ /区分大小写/


\d{6}

对应于数字 /平等的
[0-9]

/
{6}

定量素顺利吻合 6 时间


$

批准线末端的位置或在线末尾右侧的终结器前面


import re

regex = re.compile/'^[A-Z]\d{6}$'/

possibles = ['R142389', 'hello', 'J123456']

for line in possibles:
if regex.match/line/:
print/line/


出口:


R142389
J123456

知食

赞同来自:

我会使用模块
re



import re

re.search/pattern, string, flags=0/


在哪里
pattern

- 以比较为准
string

-tock被选中和
flags

- 孤儿改性剂。 此功能退货
None

, 当没有巧合时。

这是文档
re

:
https://docs.python.org/2/library/re.html
但实现的一个例子:
https://www.tutorialspoint.com ... s.htm

要回复问题请先登录注册