2024-05-26 11:11:54 发布
网友
我正试图找出如何将regex合并到python if语句中。我有一个pandas数据框,我在其中迭代行,希望每次行有特定的文本组合时都执行一个操作。regex应该匹配以大写字母后跟6个数字(即R142389)开头的任何7个字符串
for index, row in df1.iterrows(): if row[4] == REGEX HERE: Perform Action
我这样做对吗?任何帮助都将不胜感激!
我将使用re模块
re
import re re.search(pattern, string, flags=0)
其中,pattern是要匹配的正则表达式,string是要搜索的字符串,flags是可选的修饰符。当没有匹配项时,此函数返回None。
pattern
string
flags
None
以下是re文档: https://docs.python.org/2/library/re.html
下面是一个实现示例:https://www.tutorialspoint.com/python/python_reg_expressions.htm
是的,您可以这样做,只需使用match,它将只在要比较的字符串的开头匹配。必须使用search搜索整个字符串。
match
search
关于regex的一点解释:
^断言字符串开头的位置
^
[A-Z]A-Z在A(索引65)和Z(索引90)之间的单个字符(区分大小写)
[A-Z]
\d{6}匹配一个数字(等于[0-9]) {6}量词-精确匹配6次
\d{6}
[0-9]
{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
模块其中,
pattern
是要匹配的正则表达式,string
是要搜索的字符串,flags
是可选的修饰符。当没有匹配项时,此函数返回None
。以下是
re
文档: https://docs.python.org/2/library/re.html下面是一个实现示例:https://www.tutorialspoint.com/python/python_reg_expressions.htm
是的,您可以这样做,只需使用
match
,它将只在要比较的字符串的开头匹配。必须使用search
搜索整个字符串。关于regex的一点解释:
^
断言字符串开头的位置[A-Z]
A-Z在A(索引65)和Z(索引90)之间的单个字符(区分大小写)\d{6}
匹配一个数字(等于[0-9]
){6}
量词-精确匹配6次$
断言字符串末尾或字符串末尾行结束符之前的位置输出:
相关问题 更多 >
编程相关推荐