gpt4 book ai didi

python - 我怎样才能在 python 中获得重新模式作为动态输入?

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:55 25 4
gpt4 key购买 nike

我在 python 中使用 re 模块进行一些正则表达式操作。当我在 python 程序中定义要静态匹配的模式时,它工作正常。

例如,

import re
s="hi can you help me out"
pattern=r'[a-z ]*' #pattern that takes space and lower case letters only
i= re.fullmatch(pattern,s) #to check the entire string
print(i.string)


output:
hi can you help me out

现在让我来谈谈我遇到的问题是,如果我试图在运行时从用户那里获取输入模式,它会抛出异常。这里是代码

import re
s="hi can you help me out"
pattern=input("Enter pattern:")
i= re.fullmatch(pattern,s)
print(i.string)

output:
Enter pattern:r'[a-z]*'
Exception has occurred: AttributeError
'NoneType' object has no attribute 'string'

希望有人帮我解决这个问题。

python 版本:3.5

提前致谢

最佳答案

你只需要输入这部分 [a-z ]* 没有 r 字符串前缀:

Python 3.x:

import re
s = "hi can you help me out"
pattern = input("Enter pattern:")
i = re.fullmatch(pattern,s)
print(i.string)

Python 2.x:

import re
s = "hi can you help me out"
pattern = raw_input("Enter pattern:") # since input() in python2.x is the same eval(raw_input()) which would return an int
i = re.fullmatch(pattern,s)
print(i.string)

输出:

Enter pattern:[a-z ]*
hi can you help me out

关于python - 我怎样才能在 python 中获得重新模式作为动态输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com