python - 正则表达式动态查找模式 - Python
问题描述
我有一个如下所示的 Python 列表,我想构建一个正则表达式来验证我的输入字符串是否与列表格式匹配。
list = ['The Computer name is *** and its RAM is ***','The Laptop is from *** Brand','The Laptop has windows ***/']
所以 Python 列表有一个字符串集合,以及以下特殊字符集: * = 匹配一个单词 * / = 匹配一个或多个单词
列表中的其余单词应该是完全匹配的。
所以基本上我需要遍历列表,并将其与输入字符串进行比较,以查看我的输入字符串是否与列表中的格式匹配。
例如:我需要将字符串 a 与列表项 0 进行比较,字符串将是“计算机名称为 Dell,其 RAM 为 2gb”,此字符串将通过验证。而以下字符串将无法通过验证“计算机名称为 Dell,其 RAM 为 2 gb”,因为“2 gb”是 2 个单词,而在我们的验证列表中,我们期待一个单词。
解决方案
所以你的清单应该是:
list = ['The Computer name is [a-zA-Z]+? and its RAM is \d+[gbGB]+', 'The Laptop is from [a-zA-Z]+? Brand', 'The Laptop has windows [a-zA-Z ]+?']
text = input('type someting: ')
for item in list:
if re.match(f'{item}', text):
#do something
推荐阅读
- r - 将相关矩阵转换为 R 中的数据框
- android - 如何在arraylist中找到相同的值并将它们按部分排序?
- sql-server - 我怎样才能先对朋友的活动进行排序并保持良好的表现?
- firebase - 如何设置 Firestore 安全规则?resource.data:空值错误
- url - 如何从非相对 json-ld contentUrl 获取绝对路径?
- c - 为什么我会收到带有标记为“extern”的变量的“未定义引用”错误?链接器问题?
- ruby-on-rails - 在 Rails 中将数据添加到用外键引用的表中
- perl - 使用基于 perl 的重命名命令更改以破折号开头的文件名
- android - 使用 Glide 未在完整图像视图中加载图像
- pine-script - Pine Script 中的线条趋势颜色