python - 通过测试的正则表达式模式
问题描述
我想通过 def 函数编写正则表达式模式,让它命名为 is_number(string),它检查字符串是否是 -49 到 49 范围内的整数。数字也不应该包含无关紧要的零。
所以我想通过测试:
self.assertTrue(is_number("50"))
self.assertTrue(is_number("-50"))
self.assertTrue(is_number("-9"))
self.assertFalse(is_number("7"))
self.assertFalse(is_number("-200"))
self.assertTrue(is_number("-21"))
self.assertTrue(is_number("18"))
self.assertTrue(is_number("0"))
self.assertTrue(is_number("49"))
self.assertFalse(is_number("100"))
self.assertTrue(is_number("-49"))
我尝试了类似的东西,但它不起作用:
def is_number(string):
pattern = r'[-]?\d[1,4]{1,2}*'
return re.search(pattern, string)
解决方案
推荐阅读
- javascript - 在 ASP.NET MVC 中为 GridView 创建动态工具提示
- analysis - Zeek (Bro) 根据输入文件重命名日志
- django - 列出 Django Rest Framework 序列化程序中所需字段的名称(并忽略父字段)
- flutter - Flutter 在关注 TextField 时会重建之前的路由
- powershell - 合并文件任务 AzureDevops
- angular - i18n 只翻译一行标签
- javascript - NextJS 9 / 阿波罗路由
- vue.js - 如何利用本地组件的数据对象绑定到外部组件
- r - R中的多个数据帧并行功能
- ios - iOS画外音,如何跳过表格视图单元格而不是说“未启用”