你能有一个javascript条件正则表达式语句吗?



我对正则表达式有基本的了解。

我使用 javascript 正则表达式来过滤一些实时聊天评论,我的一些陈述停止了合法的讨论。

这是因为您不允许在开放论坛中讨论某些事情,但您应该能够询问它们有多少。

例如,我使用以下内容来过滤掉包含以下单词的注释:

/(?=.*apple)|(spears)|(banana)|(rasberry)/i

是否可以使用条件元素创建正则表达式语句?

总之,如果字符串包含某些单词,我想过滤字符串,但如果它包含其他单词,则不过滤,例如:"多少"或"成本"?

我不确定是否可以在一个正则表达式中执行此操作,但您绝对可以像这样拆分它:

// 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
  }
}

最新更新