条件,如果字符串只包含变量和整数Python

时间:2013-03-24 16:33:44

标签: python regex string integer conditional-statements

所以,我正在使用Python 3中的脚本,我需要这样的东西

control_input=input(prompt_029)
if only string_029 and int in control_input:
    #do something
else:
    #do something else

基本上,我要求代码有这样的条件:

if control_input == "[EXACT_string_here] [ANY_integer_here]"

Python 3中的代码如何?

2 个答案:

答案 0 :(得分:2)

你想要做的是regular expression匹配。看看re module

>>> import re
>>> control_input="prompt_029"
>>> if re.match('^prompt_[0-9]+$',control_input):
...     print("Matches Format")
... else:
...     print("Doesn't Match Format")
... 
Matches Format

正则表达式^prompt_[0-9]+$与以下内容匹配:

^        # The start of the string 
prompt_  # The literal string 'prompt_'
[0-9]+   # One or more digit 
$        # The end of the string 

如果该号码必须包含正好三位数,那么您可以使用^prompt_[0-9]{3}$或最多三位数,然后尝试^prompt_[0-9]{1,3}$

答案 1 :(得分:0)

没有正则表达式

>>> myvar = raw_input("input: ")
input: string 1
>>> myvar
'string 1'
>>> string, integer = myvar.strip().split()
>>> "[EXACT_string_here] [ANY_integer_here]" == "{} {}".format(string, integer)
True