【发布时间】:2019-01-03 21:58:19
【问题描述】:
我正在使用以下正则表达式在英文单词数组中搜索字符串主体中任何位置包含字母 C、A、L、I、R、E、T、N 的所有字符串:
const regex = /\b(?=\w*C)(?=\w*A)(?=\w*L)(?=\w*I)(?=\w*R)(?=\w*E)(?=\w*T)(?=\w*N)\w+/ig;
这是我的 JavaScript (https://jsfiddle.net/jarosciak/7tk4aL0h/),它演示了在一组英文单词中搜索时的上述示例: 脚本会成功找到单词:
CLARINET
这对我来说是一个好的开始,但我确实需要正则表达式来查找包含我指定的大部分字母的所有单词(字符串):
例如,如果我指定字母:X、C、L、A、R、I、N、E、T。 它应该找到单词:CLARINET,尽管我也将 X 指定为要搜索的字母之一。
我可以在 SQL 中毫无问题地执行此操作,但我无法弄清楚如何在 REGEX 中执行此操作。如果有帮助,这是一个有效的 SQL 示例:
【问题讨论】:
-
你的SQL中
@regex的值已经包含了你想要的正则表达式。那么,为什么不在 Javascript 中使用它呢? -
大多数字母中的最符合什么条件?您是否将正则表达式与多个输入字符串进行匹配?
-
嗨@revo,实际上我是在得到一个与我在正则表达式查询中指定的最多字母匹配的单词之后,但这不太可能是我能做的。尽管如此,想想看,最长的字母应该是最正确的答案。
标签: javascript sql regex