尝试在 C++ 正则表达式中表示以下内容:M0.89 或 m1.78 或 M0.9
"M|m([0-9].[0-9]+)"
正则表达式检查程序表明它不起作用。我做错了什么?
谢谢!
最佳答案
问题在于您使用交替运算符的方式。在左侧(第一个备选方案),它只是希望从字面上匹配字母“M”。在右侧(第二个备选方案),它正在寻找“m”后跟一个数字字符 → 任何单个字符,然后是另一个数字字符。
任何简单的方法都是在这里使用字符类:
"[mM][0-9]\\.[0-9]+"
注意:要匹配文字 .
,您需要在其前面加上双反斜杠。
关于字符串 "M0.89"的 C++ 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30553043/