Python判断字符串是否为合法标示符
2016-10-18 23:05
519 查看
这学期在学习编译原理,最近的上机作业就是做一个简单的词法分析器,在做的过程中,突然有个需求就是判断一个字符串是否为合法的标示符,因为我是用python语言做的,做的是Python的词法分析器,于是下面分享以下怎样判断一个字符串是合法的标示符。
首先,我们来熟悉以下python标示符的定义是什么?
定义:以字母或下划线开始的,由字母,数字或下划线组成,但是不能是python的保留字。
又有疑问了,python有哪些保留字,分别是什么?
好了,下面开始判断
通过键盘输入判断,是标示符,则返回True,否则返回False
首先,我们来熟悉以下python标示符的定义是什么?
定义:以字母或下划线开始的,由字母,数字或下划线组成,但是不能是python的保留字。
又有疑问了,python有哪些保留字,分别是什么?
# python2.x import keyword print keyword.kwlis # python3.x import keyword print(keyword.kwlist) # python2.x输出: ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] # 共31个 # python3.x输出: ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] # 共33个
好了,下面开始判断
# python2.7 #!/usr/bin/env python # -*- coding: UTF-8 -*- import keyword import string def is_signal(s): kw = keyword.kwlist if s in kw: return 0 elif s[0] == '_' or s[0] in string.letters: # 判断是否为字母或下划线开头 for i in s: if i == '_' or i in string.letters or i in string.digits: # 判断是否由字母数字或下划线组成 pass else: return 0 return 1 else: return 0 def main(): s = raw_input() if is_signal(s) == 1: print "True" else: print "False" if __name__ == '__main__': main() # python3.4 #!/usr/bin/env python # -*- coding: UTF-8 -*- import keyword import string def is_signal(s): kw = keyword.kwlist if s in kw: return 0 elif s[0] == '_' or s[0] in string.ascii_letters: # 判断是否为字母或下划线开头 for i in s: if i == '_' or i in string.ascii_letters or i in string.digits: # 判断是否由字母数字或下划线组成 pass else: return 0 return 1 else: return 0 def main(): s = input() if is_signal(s) == 1: print("True") else: print("False") if __name__ == '__main__': main()
通过键盘输入判断,是标示符,则返回True,否则返回False
相关文章推荐
- python实现判断一个字符串是否是合法IP地址的示例
- python点滴:判断字符串是否为合法json格式
- 【Python】判断一个字符串是否是合法IP地址
- python实现判断一个字符串是否是合法IP地址
- JS判断字符串格式是否合法
- 判断字符串emailAddr是否为合法的email格式
- poj 3332-判断字符串是否合法
- 判断一个日期字符串是否合法--COleDateTime::ParseDateTime
- C# 判断一字符串是否为合法数字(正则表达式)
- python判断输入的字符串是否为数字
- 判断一个字符串是否为合法ip地址(ipv4)
- 用正则式判断URL是否合法-python
- python判断一个字符是否是xml合法字符
- 判断字符串是否是合法的EMail
- C# 判断一字符串是否为合法数字(正则表达式)
- python正则表达式判断字符串是否是全部小写示例
- HDU_2024——判断字符串是否是c语言合法标识符
- 判断字符串是否是合法的EMail
- JS判断字符串格式是否合法
- 判断一个字符串是否是一个合法的电子邮件地址