gpt4 book ai didi

c++ - 正则表达式有个小bug

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:41 25 4
gpt4 key购买 nike

我有这个字符串

hey {Bobby|Apple|Peter}, nice to meet you {David}

和这个正则表达式:

(\{(\w+)(\|(\w+))*)\}

答案:

Bobby
Peter
David

但是,它没有得到“Apple”,我该如何解决这个问题才能得到它呢?

谢谢!

最佳答案

重复对小组不起作用。相反,尝试在字符串上迭代使用查找。可能最好先过滤掉 {Bobby|Apple|Peter},从中获取名称,然后找到 {David} 并从中获取名称。如果您继续使用正则表达式,那将是两个发现。或者一个 find,然后从结果中拆分 |

查找的正则表达式:\{(\w+(?:\|\w+)*)\},然后使用第 1 组(大括号的所有内容)并拆分结果。

关于c++ - 正则表达式有个小bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320650/

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