加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 包含记事本中所有特定字母的正则表达式

发布时间:2020-12-14 05:59:59 所属栏目:百科 来源:网络整理
导读:我有一个字典列表作为文本文件,并希望选择包含特定字符列表的所有成员的某些单词.使用文本编辑器记事本在字典列表中应用以下正则表达式.我在记事本上尝试过以下正则表达式语句; [BLT]+ 但是,这并不匹配方括号中的所有字母,而是方括号中的任何字母.然后我也尝
我有一个字典列表作为文本文件,并希望选择包含特定字符列表的所有成员的某些单词.使用文本编辑器记事本在字典列表中应用以下正则表达式.我在记事本上尝试过以下正则表达式语句;

[BLT]+

但是,这并不匹配方括号中的所有字母,而是方括号中的任何字母.然后我也尝试了以下正则表达式,包括单词边界;

b[BLT]+

此表达式再次匹配单词的所有出现,包括方括号中列出的任何字母,但不是所有字母.

期望的行为

比方说,字典包含如下列表;

AL
BAL
BAK
LABAT
TAL
LAT
BALAT
LA
AB
LATAB
TAB

我需要的是一个包含所有字母’B’,’L’,’T'(不是任何!)的表达式,因此预期的行为应如下所示;

LABAT
BALAT
LATAB

这个问题的最简约和通用正则表达式是什么?

解决方法

你可以使用 lookaheads:

^(?=.*B)(?=.*L)(?=.*T).+$

作为更一般情况的示例,优化的正则表达式至少为1 B,2 Ls和3 Ts:

^(?=[^Bn]*B)(?=(?:[^Ln]*L){2})(?=(?:[^Tn]*T){3}).+$

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读