簡體   English   中英

包含一個或多個指定字母的字符串的Javascript正則表達式

[英]Javascript Regular Expression for a string that contains one or more of specified letters

我正在使用以下正則表達式在字符串的任何位置的英文單詞數組中搜索包含字母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

這對我來說是個不錯的開始,但是我確實需要Regex表達式來查找包含我指定的大多數字母的所有單詞(字符串):

因此,例如,如果我指定字母:X,C,L,A,R,I,N,E,T。它應該找到單詞:CLARINET,即使我也將X指定為以下字母之一搜索。

我可以在SQL中做到這一點而沒有任何問題,但是我不知道如何在REGEX中做到這一點。 這是一個工作的SQL示例,如果有幫助的話:

在此處輸入圖片說明

遵循Regex的將僅按順序查找Carinet。 您的問題沒有提到CLARINET是按順序出現還是按CLRIATEN這樣的任何順序出現。 但是根據您的數據和我的假設,即順序進行,就到這里了。 您可以通過添加/ i區分大小寫來更改正則表達式。

正則表達式: '(CLARINET)+'

如果您認為單詞可以出現在文本中的任何地方,例如包含所有這些單詞的一些隨機數據,則可以使用following。

正則表達式: '[CLARINET]+'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM