python - 测试python中的字符串输入是否包含正确格式的正确字符
问题描述
抱歉,如果以前有人问过这个问题,我似乎无法在任何地方找到答案。
所以我有一个 DNA 序列分析程序的用户输入,我想检查输入是否实际上是一个序列,即它包含 A、C、T、G 或 a、c、t、g。
我曾想过实现一个正则表达式,如果找到正确的格式,re.search 将返回 True。然后如果为假,我可以再次要求输入等。像这样:
input = "ATGGCAAT"
>>True
input = "atg"
>>True
input = "AATG!4"
>>False
input = "this input contains all the char but is in the wrong format"
>>False
我还考虑过使用与正确格式以外的任何内容相匹配的负面展望。
但我似乎无法正确处理。任何帮助将不胜感激!感觉自己在绕圈子!
解决方案
您需要检查字符串是否包含小写或大写的 ACTG,并且仅包含它们,因此您将表达式锚定在行的开头和结尾:
import re
re.match("(?i)^[ACTG]+$", input)
推荐阅读
- java - 强连通分量
- machine-learning - MinMaxScaler 如何影响我的测试数据?
- c# - 有没有办法连接 C# 和 16 位 NASM 程序集?
- assembly - 如何使用乘法的符号扩展?
- javascript - React useState + useContext - 状态不定期更新。没有线索
- awk - awk 将一列转置为多个具有空值的未知列
- windows - 使用 wsl2 和 docker 在 Windows 10 上运行网络模式“主机”
- angularjs - 模块“myApp”不可用 AngularJS 教程
- xamarin - xamarin.essentials.connectivity.NetworkAccess
- c# - 异步尝试捕获 - 异常变量为空