我试图找出如何将regex合并到python if语句中。我有一个pandas数据框架,在其中我迭代行,并希望在每一行具有特定的文本组合时执行一个操作。正则表达式应匹配任何以大写字母开头,后跟6个数字(即R142389)的7个字符串
for index, row in df1.iterrows():
if row[4] == REGEX HERE:
Perform Action
我这样做对吗?任何帮助都将不胜感激!
我会使用re模块
import re
re.search(pattern, string, flags=0)
其中,模式是要匹配的正则表达式,字符串是要搜索的字符串,标志是可选的修饰符。当没有匹配项时,此函数返回None。
这是
re
留档:https://docs.python.org/2/library/re.html
下面是一个实施示例:https://www.tutorialspoint.com/python/python_reg_expressions.htm
是的,您可以这样做,只需使用match(匹配),它只会在要比较的字符串的开头匹配。您必须使用搜索来搜索整个字符串。
关于regex的一些解释:
<代码>^断言字符串开头的位置
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
我正在使用做类似“语法分析器”的事情,使用(常规表达式)。 我只想检查基本操作的有效语法(如|-|*|/|(|))。用户将字符串(用键盘)粘贴到磁带上,我用regex对其进行验证。但我不知道如何在if语句中使用regex。我想要的是:如果用户带给我的字符串不正确(或者没有使用regex检查),请打印类似“inavlid string”的内容,如果正确,请打印“Valid string”。 我尝试过
我已经使用这个正则表达式测试器来检查我的正则表达式是否有效:http://regex101.com/ 当我在RegEx-tester中输入RegEx时,它显示子字符串被捕获。 现在我想使用正则表达式从文件中 grep 子字符串。到目前为止,我对这个说法没有运气: grep 不会抛出任何错误。它根本不会像找不到匹配项时那样给出结果。 我尝试过用反斜杠来转义grep语句中的撇号,但是没有用。 非常感谢
我在这里做错了什么? 尝试匹配任何包含空格、小写、大写或数字的字符串。特殊字符也很好,但我认为这需要转义某些字符。 这显然只测试上限、下限、数字和空格。但不管用。 *更新*
问题内容: 在WHERE子句中有使用SELECT语句描述的名称吗?这是好/不好的做法吗? 这会是更好的选择吗? 它远没有那么优雅,但是运行起来比以前的版本要快。我不喜欢它,因为它在GUI中没有非常清晰地显示(并且SQL初学者需要理解它)。我可以将其分为两个独立的查询,但是随后事情变得混乱了…… 注意:我不仅需要日期和分数(例如姓名) 问题答案: 称为相关子查询。它有它的用途。
如果我为第一个扫描器语句键入字母,我会得到“错误!!”和“输入一个数字”,但不能输入另一个数字。我是一个初学者,不知道输入语句是否可以在catch语句中使用