编写词法分析器识别浮点数
时间: 2024-05-12 18:14:41 浏览: 200
词法分析器
下面是一个简单的词法分析器程序,用于识别浮点数:
```python
import re
# 浮点数的正则表达式
float_regex = r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$'
def lex_float(input_string):
# 尝试匹配浮点数的正则表达式
match = re.match(float_regex, input_string)
if match:
return True
else:
return False
# 测试代码
print(lex_float('3.14')) # True
print(lex_float('-0.5')) # True
print(lex_float('1.23E-4')) # True
print(lex_float('abc')) # False
```
该程序使用Python的re模块来实现正则表达式匹配,提供一个浮点数的正则表达式来匹配输入字符串。如果输入字符串与正则表达式匹配,则返回True,否则返回False。
阅读全文