regex - 正则表达式查找带有两个字母的字符串
问题描述
我需要找到所有字符串具有字母“H”和“M”但之前或之后没有其他字母但其他符号都可以的所有字符串。有效字符串:
HM
(HM)
&HM%
This is HM
HM are two letters
无效的字符串:
Marshmellows
asdfHMASDF
sfafhmasdf
解决方案
您可以在忽略大小写模式下使用此正则表达式:
/^(?:.*?[^a-z\n])?HM(?:[^a-z\n].*)?$/igm
正则表达式详细信息:
^
: 开始(?:.*?[^a-z\n])?
:匹配任何后跟非字母的可选匹配项HM
: 匹配HM
(忽略大小写)(?:[^a-z\n].*)?
:匹配一个可选的非字母,后跟任何内容直到结束$
: 结尾
或者使用环顾四周:
/^.*?(?<![a-z])HM(?![a-z]).*/igm
推荐阅读
- jquery - 按钮单击复选框并显示另一个 jquery
- deep-learning - 较高的激活值是否意味着神经元在神经网络中很重要?
- python - How to make arguments in python decorator configurable?
- docker - 如何从单独的 nginx 服务为客户端应用程序提供服务?
- python - 在 Django 中向特定用户发送通知
- bash - 如何将一对线移动到前一对线的末尾
- vba - 分离数据和清理Access Table
- spring - 骆驼 3 openjdk 11 休眠/jpa java.lang.NoSuchMethodError
- r - 在组内重新排序不适用于 ggplot 条形图
- javascript - 节点 puppeteer Promise.all 一次查看不同页面时的所有问题