gpt4 book ai didi

ios - 用于在 Swift 中使用通配符的清晰单行单词的正则表达式

转载 作者:行者123 更新时间:2023-11-28 21:04:48 25 4
gpt4 key购买 nike

我正在尝试在 Swift 4 中构建一个正则表达式字符串,该字符串在一行的开头获取字符,其中一些字符已知而另一些字符未知。

假设我有一个文本文件,每个单词都有换行符,内容如下:

pucker
tuckered
duckerdinger
sucker punch

我想得到每个包含“cker”的单词,长度为 1 到 8 个字符。

我正在尝试使用此语句 ^..cker..{1,8} 作为我的 RegEx 字符串。我得到的只是模式(Mac 应用程序)中的部分匹配,但是 Regex101.com's说不匹配,最重要的是,Xcode 说我使用了无效的正则表达式。我还尝试了 ^(..cker..) 和无数其他变体。

我搞砸了什么,我该如何解决?我想做的事情看起来非常简单,但我浪费的时间比我愿意承认的要多。

更新:

这是迄今为止我能得到的最好的...

"\\b..cker..",但我只能得到恰好 8 个字符长的单词。我想捕获包含第 3、4、5 和 6 个字母的“cker”的单词,同时捕获最长 8 个字符的单词。

最佳答案

试试这个正则表达式:

\b(?=.*cker)[a-zA-Z]{1,8}\b

Click for Demo

解释:

  • \b - 匹配 word boundary
  • (?=.*cker) - Positive Lookahead确保我们的字符串应包含字符序列 cker
  • [a-zA-Z]{1,8} - 匹配一个字母出现 1 到 8 次
  • \b - 匹配单词边界

关于ios - 用于在 Swift 中使用通配符的清晰单行单词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46386260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com