【问题标题】:Regex mandatory specific 3 characters [duplicate]正则表达式强制特定的 3 个字符 [重复]
【发布时间】:2019-11-18 06:13:27
【问题描述】:

我试过这段代码:

/[m,r,k]/

我想检查字符串是否包含所有三个字符,在本例中为m,r,k。顺序并不重要。

【问题讨论】:

  • 你能提供示例输入吗?
  • @anubhava 这不需要每个单独的字母。 mrk 将通过测试,但 mrrrrrm 也将通过测试。这并不能确保字符串包含所有 3 个字符。
  • 确实,我误解了这个问题。最好添加示例输入以获得更好的清晰度。
  • 如果您只使用兼容 ECMAScript 6 的浏览器,则可以避免使用带有 var hasAllChars = charsToCheck.split('').every(function(c) { return textToCheck.includes(c) }); 之类的正则表达式。

标签: javascript regex string-matching


【解决方案1】:

你可以使用

^(?=.*m)(?=.*r)(?=.*k).*$

let checkStr = (str) => /^(?=.*m)(?=.*r)(?=.*k).*$/i.test(str)

console.log(checkStr('mrk'))
console.log(checkStr('mr'))

【讨论】:

  • 这正确回答了“顺序不重要”。 krm 之类的字符串适用于此答案。
猜你喜欢
  • 2018-04-07
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 2020-04-29
相关资源
最近更新 更多