gpt4 book ai didi

c++ - 简单的正则表达式似乎不工作 C++

转载 作者:太空狗 更新时间:2023-10-29 20:54:07 26 4
gpt4 key购买 nike

尝试找到一个正则表达式来指示等式右侧是否有“M”。这是我的:

^[^=\\s@0-9;(D|A)]+(?==)

我是这样翻译的:

^ - assert start of line

[everything in brackets] - match one or more characters NOT in these brackets

(?==) - positive lookahead... but now that I'm actually writing this out I think this might be the error.

我一直在 www.regex101.com 上使用默认的 php 开发我的正则表达式(我知道,愚蠢,但我找不到在线 C++ 版本)。很难预测这样做的行为,当我有一些看起来可行的东西时,它只是部分起作用。

所以,

M=D-M  // should indicate M on RHS
D=D+A // should not indicate M on RHS
D=A // should not indicate M on RHS

我的代码可能有一个与 Regex 无关的细微错误,但我很确定情况并非如此。它适用于几十个案例,只有 2-3 个错误。让我们假设它与正则表达式有关。

附言我正在尝试解析一些简单的 .asm 文件...

帮助!

最佳答案

试试这个正则表达式:

^[^=]+=([^=]*[M][^=]*)$

此处演示:

Regex101

关于c++ - 简单的正则表达式似乎不工作 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40275311/

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