假设我有一个字符串s。 我想编写一个使用正则表达式的函数,如果s具有以下特征,则返回True。
更新: 我尝试了下面的解决方案(它无法捕获我的最后两个测试用例):
情况:返回bool(re.search(r'\s*[A-Za-z_]\w*\s*', s))
- 忽略前导空格。
- 在步骤1之后,s可以以任何以下字符a-z,A-Z或_开头
- 在第1个字符之后,s可以具有0个或多个以下字符a-z,A-Z,0-9和/或_
- s可以具有1个或多个尾随空格字符。
import re
def test_s(s):
return bool(re.search("[A-Za-z_\s]{1}[A-Za-z0-9_]*[\s]*$",s))
更新: 我尝试了下面的解决方案(它无法捕获我的最后两个测试用例):
情况:返回bool(re.search(r'\s*[A-Za-z_]\w*\s*', s))
TESTLIST = ['__This_Is_a_StringThatShouldWork' , ' SoIsThis1 ' , '4getaboutThis1', '7his_ShouldReturnFalse']]
for s in TESTLIST:
print(is_var(s))
[出]
True
True
True (Should be False)
True (Should be False)