首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何匹配只有重复模式的线条

如何匹配只有重复模式的线条
EN

Stack Overflow用户
提问于 2012-08-21 10:09:01
回答 2查看 116关注 0票数 0

我试图用两个或更多的内部点字符(不是句点)来匹配一个(复合)单词。

  1. 这一行有一个.虚词
  2. 这一行·有两个·点,但用两个词
  3. 而这一行有几个·点·在一个词中
  4. 也想要匹配一个·线·类·这与多个点
  5. 与一条有单线和多条虚线的线匹配

第3-5行是匹配的

到目前为止,我可以像这样匹配所有这些:

W·w

但我不知道如何排除像1和2这样的线。

这是我实际问题的简化版本,它在Xcode中搜索特定的模式。我认为我需要提高我对regex的总体知识。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-21 10:11:37

你的指令集只找一个点。试一试

代码语言:javascript
运行
复制
\w•\w+•

+允许重复一个或多个前一个令牌,因此这个正则表达式将与第3行中的l•dots•匹配。

票数 1
EN

Stack Overflow用户

发布于 2012-08-21 15:04:26

(\w+•\w+•(?:\w+•)*\w+)这将帮助您从字符串中捕获匹配项。

所以,让我们来玩一下:

\w+<-此匹配词

\w+•\w+• <-这个词有两个点,如下所示:a•line•

(?:\w+•)* <-匹配\w+•的下一次[0,infinity]次数如下:a•line•like•<-它将捕获a•line•like•(以及其他一个字接一个字的单词或捕捉零长度字符串)

(?:pattern)<-我使用它来防止匹配行为,它只是分组。

\w+ <-它将捕获最后一个词

现在让我们看看pattern:

(word•word•([grouping]word•)[0, infinity]{times}word)

word•word•word将捕获

word•word•word•word将捕获

word•word•word•word•word将捕获

诸若此类

它将捕捉单词序列,其中只有一个点,其中包含3个,无穷大的单词。

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

https://stackoverflow.com/questions/12052619

复制
相关文章

相似问题

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