我正在尝试匹配仅包含 a、g、c 或 t 的字符串(不敏感),因此字符串:“AAaaatCCCc”有效,而“catb”无效。这是我的功能:
var pattern = "/^[agct]+$/i";
if (!this.inputSeq.value.trim().match(pattern)){
this.errMsg = "Invalid input sequence -must contain only a,g,c or t"
updateErrorBox(this.errMsg);
}
Run Code Online (Sandbox Code Playgroud)
当我输入有效字符串时,我仍然收到错误消息
从正则表达式中删除引号:
var pattern = "/^[agct]+$/i";
Run Code Online (Sandbox Code Playgroud)
到:
var pattern = /^[agct]+$/i;
Run Code Online (Sandbox Code Playgroud)
存在隐式转换
正则表达式
正则表达式对象。如果传递非 RegExp 对象 obj,则使用 new RegExp(obj) 将其隐式转换为 RegExp。
但它不起作用,因为模式和斜杠中有标志:/../。
var pattern = "^[agct]+$";
... .match(pattern)
Run Code Online (Sandbox Code Playgroud)
由于隐式转换可以工作,但由于缺少i标志而区分大小写。
| 归档时间: |
|
| 查看次数: |
1564 次 |
| 最近记录: |