首页 > 解决方案 > 如何检查我的字符串输入是否遵循 C++ 中的正确语法?

问题描述

我是这个网站的新手,这是我第一次在这里提问。

我的问题是我想检查我的字符串是否遵循正确的模式或语法。我正在使用 C++ String (std::string) 来做这件事。我已经使用 C-Style 字符串完成了这项工作,但是,这次我想用 C++ String 来完成。下面的示例问题:

输入:2y'' + 3y' - 2y = 0y'' = 4y

我想检查导数输入的语法是否正确,例如 (a)y'' + (b)y' + (c)y = 0,二阶齐次方程。但是,我仍然想输入一个非标准形式的方程式,例如可以转置的第二个样本输入并使其成为标准形式。

我之前用它做的是删除所有空格,循环整个字符串并检查每个索引。例如。如果找到“y”,则下一个字符应该是'\''或算术符号,如'-'or '+''='然后如果不匹配,则它必须返回 false。

或者,也许我只是在执行这个错误。我是编程新手,刚刚学习计算机科学课程。注意:对不起我的英语不好,如果我没有在这里写我的代码,我很抱歉。它只是太长了。

标签: c++stringdesign-patternsindexing

解决方案


正则表达式可能是答案。它们通常用于检查字符串是否首先是格式,或者查找字符串的某些部分。

RegExr是学习和测试正则表达式的绝佳工具。


推荐阅读