假设我有一个字符串s。我想使用正则表达式编写函数,如果s具有以下特征,则返回True。
我已经尝试了下面建议的解决方案,我哪里出错了?
import re
def test_s(s):
return bool(re.search("[A-Za-z_\s]{1}[A-Za-z0-9_]*[\s]*$",s))
更新: 我尝试了下面的解决方案(它无法捕获我最后的2个测试用例):
CASE:返回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))
[OUT]
True
True
True (Should be False)
True (Should be False)
答案 0 :(得分:1)
我认为这应该有用。
import re
def test_s(s):
return bool(re.match("\s+[a-zA-Z_][a-zA-Z0-9_]*\s+", s))
答案 1 :(得分:1)
试试这个:
import re
def test_s(s):
return bool(re.search(r'\s*[A-Za-z_]\w*\s*', s))
答案 2 :(得分:0)
试试这个正则表达式:
[a-zA-Z_]\w*\s+