我对正则表达式有基本的了解。我使用javascript正则表达式过滤了一些实时聊天评论,而我的某些声明则停止了合法的讨论。这是因为不允许您在开放论坛中不讨论某些内容,但是您应该可以问它们多少钱。例如,我使用以下内容过滤掉包含以下单词的注释:/(?=.*apple)|(\spear\s)|(banana)|(rasberry)/i是否可以使用条件元素创建正则表达式语句?总而言之,如果字符串包含某些单词,但如果包含其他单词,则不希望过滤该字符串,例如:“多少”或“费用”?
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
我不确定是否可以在一个正则表达式中进行操作,但是您可以按照以下方式将其拆分:
// Check if regex matches
const containsWords = (str, reg) => {
return reg.test(str)
}
const filteredRegex = /apple|spear|banana|rasberry/g
const allowedRegex = /how much|cost/g
// If the amount of matches is bigger than 0, check if it contains allowed words
if (containsWords(comment, filteredRegex)) {
if (containsWords(comment, allowedRegex)) {
// Allowed
} else {
// Not allowed
}
}
添加回答
举报
0/150
提交
取消