在学习python中的regex时,我遇到了下面的代码。 它是strip()的regex版本。你知道吗
import re
def REstrip(text, param=' '):
mo = re.compile(r'^([' + str(param) + ']*)(.*?)([' + str(param) + ']*)$')
result = mo.search(text)
if (result != None):
print(result.group(2))
text = input("Please input the text: ")
param = input("Please input the param: ")
REstrip(text, param)
输出:
Please input the text: 11221
Please input the param: 11
22
[' + str(param) + ']
是什么意思(方括号中的' + + '
代表什么?)你知道吗
这意味着将传递给函数的“param”值转换为文本字符串数据类型,并将其用作正在计算的正则表达式的一部分。加号(+)将字符串连接在一起。你知道吗
让我们把它分解一下,例如:
因此,正如您所看到的,在方括号中不是
+ +
,只有两个字符串文字恰好以[
结束,以]
开始。你知道吗另外,pro提示:将任意字符串注入regex并不十分安全,因此您可能希望改用
re.escape(str(param))
。你知道吗相关问题 更多 >
编程相关推荐