javascript - 你能有一个javascript条件正则表达式语句吗?
问题描述
我对正则表达式有基本的了解。
我使用 javascript 正则表达式过滤一些实时聊天评论,我的一些陈述停止了合法讨论。
这是因为您不允许在开放论坛中讨论某些事情,但您应该能够询问它们是多少。
例如,我使用以下内容过滤掉包含以下单词的评论:
/(?=.*apple)|(\spear\s)|(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
}
}
推荐阅读
- api - 如何使用 Twitter API 在 Twitter 上获取用户图像?
- c - 有没有一种有效的方法可以在 C 中构建正负数模式?
- javascript - 异步 - 等待不在 for 循环中执行回调
- javascript - 如何转换为 24 小时格式(谷歌应用脚本)
- swift - 失去焦点时NSPanel不会隐藏
- c# - DDD 范式。是否可以在 Application Core.Domain 层上使用基础设施层的服务
- python - 将前导零添加到二进制中
- node.js - Tendermint:websocket 连接不起作用。错误:'意外的服务器响应:200'
- javascript - 在 React 中的操作中获取数据
- python - 如何加快附加到多索引 DataFrame?