首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在字符串上查找以特定字符开头的单词,包含2-5个字符,而不是仅由数字组成。

在字符串上查找以特定字符开头的单词,包含2-5个字符,而不是仅由数字组成。
EN

Stack Overflow用户
提问于 2015-02-19 14:07:16
回答 2查看 238关注 0票数 0

我可以有以下示例字符串之一:

  1. 苹果$Banana猕猴桃
  2. 苹果$TTL
  3. 苹果公司的售价为9999美元。奇异果
  4. 苹果售价9美元。奇异果
  5. 苹果$z.9s。奇异果

我需要找到以'$‘开头的字符串所包含的单词,其中除'$’以外的长度在2到5之间,并且不包含数字,它可以包含点,没有标点符号。

在上面的列表中,数字2,4和5符合我的标准。

我试着写一个正则表达式来做这件事,但没有得到有用的结果。

代码语言:javascript
复制
(?<![a-z0-9])[$]{1}[A-Z0-9\.]{2,5}(?![a-z0-9])

我使用Java来匹配regex

有理由这么做吗?

EN

回答 2

Stack Overflow用户

发布于 2015-02-19 14:12:05

使用如下所示的基于查找的正则表达式。

代码语言:javascript
复制
(?<![a-z0-9])[$](?:(?!\d+\b)[A-Z0-9a-z.]){2,4}(?![a-z0-9])

演示

代码语言:javascript
复制
(?<![a-z0-9])[$](?:(?!\d+\b)[A-Z0-9a-z]){2,4}(?![a-z0-9])

演示

票数 1
EN

Stack Overflow用户

发布于 2015-02-19 14:14:53

代码语言:javascript
复制
(?<![a-zA-Z0-9])\$(?=\S*[a-zA-Z])[a-zA-Z0-9.]{2,4}(?=\s|$)

尝试this.See演示。

https://regex101.com/r/mS3tQ7/15

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

https://stackoverflow.com/questions/28608436

复制
相关文章

相似问题

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