Regex Python 3.4的输入验证:只能包含
我希望允许这些字符Regex Python 3.4的输入验证:只能包含,regex,validation,python-3.x,Regex,Validation,Python 3.x,我希望允许这些字符[a-z]+\.+[0-9]*\\\\\\\*(必须包含一个或多个小写字母字符(a-z),并且必须包含一个或多个句点()。也可以包含零个或多个数字(0-9)、零个或多个下划线()),但不能包含其他字符 我尝试了多种方法,但都没有成功: import re iStrings = str(input('Enter string? ')) iMatch = re.findall(r'[a-z]+\.+[0-9]*\_*', iStrings) iiMatch = re.findall
[a-z]+\.+[0-9]*\\\\\\\*
(必须包含一个或多个小写字母字符(a-z),并且必须包含一个或多个句点()。也可以包含零个或多个数字(0-9)、零个或多个下划线()),但不能包含其他字符
我尝试了多种方法,但都没有成功:
import re
iStrings = str(input('Enter string? '))
iMatch = re.findall(r'[a-z]+\.+[0-9]*\_*', iStrings)
iiMatch = re.findall(r'[~`!@$%^&*()-+={}\[]|\;:\'"<,>.?/]', iStrings)
iiiMatch = iMatch != iiMatch
if iiiMatch:
print(':)')
else:
print(':(')
重新导入
iStrings=str(输入('Enter string?'))
iMatch=re.findall(r'[a-z]+\.+[0-9]*\\\\\\\\\*',iStrings)
iiMatch=re.findall(r'[~`!@$%^&*()-+={}\[]\\\\;:\''''./]',iStrings)
iiMatch=iMatch!=iiMatch
如果iiMatch:
打印(“:)”)
其他:
打印(':(')
另一个例子:
import re
iStrings = str(input('Enter string? '))
iMatch = re.findall(r'[a-z]+\.+[0-9]*\_*', iStrings) not "[~`!@$%^&*()-+={}\[]|\;:\'"<,>.?/]" in iStrings
if iMatch:
print(':)')
else:
print(':(')
重新导入
iStrings=str(输入('Enter string?'))
iMatch=re.findall(r'[a-z]+\.+[0-9]*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\,iStrings)不是iStrings中的“[~`@$%^&*()-+={}\[]\\;:\”?/”
如果iMatch:
打印(“:)”)
其他:
打印(':(')
任何帮助都将不胜感激
编辑:添加了澄清
编辑:有关其他信息:
首先,[a-z]+
不是“a”字符。[0-9]*
和\\\*
我假设你的意思是允许字母、数字、下划线、点、加号和星号
试试这个:
^[\w*.+]+$
\w
已经匹配了[a-z]
、[0-9]
和\u
^
和$
确保不允许其他内容+
字符匹配。如果不允许,请将其从character类中删除:^[\w*]+$
。同样,如果不需要,请删除*
if re.search(r"^[\w*.+]+$", subject):
# Successful match
else:
# Match attempt failed
编辑以下评论:
对于必须包含一个或多个字母、一个或多个点、零个或多个uu、零个或多个数字的字符串,我们需要lookahead来强制执行一个或多个条件。您可以使用以下方法:
^(?=.[a-z])(?=.*\.[\w_.]+$
仅供参考,我在答案中添加了Python代码。要获得更通用的输入验证(此问题是一个简化的示例),请查看一些(众多)密码验证问题和答案:例如@ridgerunner尼斯链接:)@ridgerunner谢谢,我会的,对不起,我不清楚。小写字符[a-z]
一个或多个,一个或多个
,零个或多个\uuu
和零个或多个[0-9]
。这是我第一次使用正则表达式,伙计,这很混乱。谢谢。@loki_999谢谢你的反馈。你是说表达式必须包含一个或多个字母、一个或多个点、零个或多个uu、零个或多个数字?那就是一个不同的正则表达式(我们需要使用lookaheads进行验证)@好吧,那没关系,因为我在答案中也加了这个
if re.search(r"^[\w*.+]+$", subject):
# Successful match
else:
# Match attempt failed