gpt4 book ai didi

regex - 将 2 个单词的字符串拆分为单独的单词 [但有时字符串中只有单词...]

转载 作者:行者123 更新时间:2023-12-02 08:57:28 25 4
gpt4 key购买 nike

我有类似“AMS.I-I.D. ver.5”和“AM0011 ver. 2”的字符串,其中“ver. *” ”需要被删除。我已经这样做了: (^A.*)(ver.\s\d{1,2})

当没有像“AM0003”这样的版本号时,就会出现此问题。如何使 (ver.\s\d{1,2}) 部分可选?

最佳答案

添加问号时它不起作用的原因是因为您的第一组匹配 greedily 。尝试将其更改为非贪婪匹配,然后将第二组设为可选:

^(A.*?)(ver\.\s\d{1,2})?$
^ ^
non-greedy optional

请注意,在这两个部分中,唯一的变化是添加了一个问号,但问号在每种情况下都有不同的含义。

此外,在您的一个示例中,文本 ver. 和版本号之间没有空格,因此您应该考虑在正则表达式中将空格设置为可选。

查看 Rubular 上的正则表达式的实际应用.

关于regex - 将 2 个单词的字符串拆分为单独的单词 [但有时字符串中只有单词...],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897870/

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