首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串的Regex,前面和后面都没有字母表字符

字符串的Regex,前面和后面都没有字母表字符
EN

Stack Overflow用户
提问于 2017-05-23 11:28:31
回答 4查看 483关注 0票数 0

我有这些关键词:

  1. 顶部
  2. 顶蓝
  3. 蓝顶
  4. 我的上衣
  5. 轻型grn顶
  6. 顶棉
  7. 笔记本电脑
  8. 膝上型电脑
  9. 绿色顶0192
  10. 桌面45WAI
  11. 最优

(更新条件)

12. village_top1993

所需的火柴有:顶,顶蓝,蓝顶,我的顶,轻grn顶,顶棉,绿色顶0192,village_top1993

我想要创建一个正则表达式,其中我有以下条件:

  1. 字符串顶部不能在" top“之前或之后有任何字母表(a-z),例如”膝上型计算机“和”最顶层“。
  2. 字符串顶部可以有任何标点符号或特殊字符之前或之后。
  3. 字符串顶部可以在相邻位置旁边有任何特殊字符或字母,意思是"abcd top xyz“(这是匹配的)。

到目前为止,我所做的是[^a-zA-Z]top[^a-zA-z],但这并不符合我的条件。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-23 11:51:06

使用负面浏览:

代码语言:javascript
复制
(?<![a-zA-Z])top(?![a-zA-Z])
票数 3
EN

Stack Overflow用户

发布于 2017-05-23 11:34:26

也许这个适合你的需要:https://regex101.com/r/ptYfA5/1

模式:\w*?\btop\b\w*

如果\w是任意长度的单词-char (*量词),则在"top“之前和/或之后。\b的意思是一个单词边界.

如果您想要涵盖前面的数字内容,您还可以编写以下内容

(^[0-9]+?\. *)?\w*?\btop\b\w*

来自德国的问候。

票数 0
EN

Stack Overflow用户

发布于 2017-05-23 11:39:54

在您提供的正则表达式中,您忽略了Z上的大写字母。

[^a-zA-Z]top[^a-zA-z]应该是[^a-zA-Z]top[^a-zA-Z]

我建议使用:

代码语言:javascript
复制
[^a-zA-Z](top)[^a-zA-Z]

Demo on regex101

's suggestion使用\btop\b似乎也不错。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44133541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档