我尝试编写一个接收任意数量字符的字符串的函数,并验证该字符串只包含一组预定义的字符(这四个字符中没有一个字符)。
validRna(strand) {
var checkStrand = strand.match(/^(CGAT)$/g)
return checkStrand == strand
}
目前我所拥有的只会匹配第一个字符,而不是整个字符串。我试图理解要检查的最佳方法,以及如何构建正则表达式(总是在使用正则表达式)。
答案 0 :(得分:3)
您可以使用[]
和*
方法等正则表达式模式来检查每个字符串。
^
将匹配该集合中的任何字符,$
表示0或更多这些字符。所以这从一开始就说:console.log(/^[CAGT]*$/.test("GAFASF"));
console.log(/^[CAGT]*$/.test("CAGTGAGA"));
console.log(/^[CAGT]*$/.test("GGATCAGCTTGA"));
到结尾validRna(strand) {
return /^[CAGT]*$/.test(strand);
}
必须有0或更多的C或A或G或Ts。
SELECT * FROM item LEFT JOIN categories
ON item.category_id = categories.id
WHERE item.is_active = 1 AND categories.is_active = 1 AND categories.parent_id IN
(SELECT id FROM categories WHERE parent_id IS NULL AND is_active = 1)

SaveChanges