包含 Notepad++ 中所有特定字母的正则表达式
Regular Expression That Contains All Of The Specific Letters in Notepad++
我有一个作为文本文件的字典列表,并希望 select 某些单词包含特定字符列表的所有成员。使用文本编辑器notepad++在字典列表中应用以下正则表达式。我在记事本++上尝试了以下正则表达式语句;
[BLT]+
然而,这并不匹配方括号中的所有字母,而是匹配方括号中的任何字母。然后我还尝试了以下正则表达式,包括单词 boundary;
\b[BLT]+
并且此表达式再次匹配单词的所有出现,包括 any,但不匹配中间列出的字母的 all方括号。
期望的行为
比方说,字典包含如下列表;
AL
BAL
BAK
LABAT
TAL
LAT
BALAT
LA
AB
LATAB
TAB
我需要的是一个包含 all 个字母 'B'、'L'、'T' 的表达式(不是任何一个!) ,因此 预期行为 应如下所示;
LABAT
BALAT
LATAB
这个问题的最简约和通用正则表达式是什么?
您可以使用 lookaheads:
^(?=.*B)(?=.*L)(?=.*T).+$
作为更一般情况的示例,优化的正则表达式至少为 1 B
、2 L
s 和 3 T
s:
^(?=[^B\n]*B)(?=(?:[^L\n]*L){2})(?=(?:[^T\n]*T){3}).+$
我有一个作为文本文件的字典列表,并希望 select 某些单词包含特定字符列表的所有成员。使用文本编辑器notepad++在字典列表中应用以下正则表达式。我在记事本++上尝试了以下正则表达式语句;
[BLT]+
然而,这并不匹配方括号中的所有字母,而是匹配方括号中的任何字母。然后我还尝试了以下正则表达式,包括单词 boundary;
\b[BLT]+
并且此表达式再次匹配单词的所有出现,包括 any,但不匹配中间列出的字母的 all方括号。
期望的行为
比方说,字典包含如下列表;
AL
BAL
BAK
LABAT
TAL
LAT
BALAT
LA
AB
LATAB
TAB
我需要的是一个包含 all 个字母 'B'、'L'、'T' 的表达式(不是任何一个!) ,因此 预期行为 应如下所示;
LABAT
BALAT
LATAB
这个问题的最简约和通用正则表达式是什么?
您可以使用 lookaheads:
^(?=.*B)(?=.*L)(?=.*T).+$
作为更一般情况的示例,优化的正则表达式至少为 1 B
、2 L
s 和 3 T
s:
^(?=[^B\n]*B)(?=(?:[^L\n]*L){2})(?=(?:[^T\n]*T){3}).+$