cpp正则表达式解法

表示数值的字符串

http://www.nowcoder.com/questionTerminal/6f8c901d091949a5837e24bb82a731f2

第一次正经八百地接触正则表达式,先看了半小时,摸到了一点感觉和苗头,明白了它是一种模式,模板,公式,也确实明白了它真的很有用,比如匹配邮箱什么的,很有意思,也稍微看了他的组件:普通字符和元字符。但是对元字符的掌握还很差,自己写不出来下面用到的正则表达式,是看的题解,别人用的Java,我虽然用cpp,但是正则表达式一样,去看了看cpp的正则表达式函数,用了这个regex_match全面匹配函数,很成功。

很奇怪的一点:牛客竟然没有预加载c++的正则表达式库regex,需要自己添加。一般的库比如vector,queue,algorithm,string这都时预加载了的,不需要自己include。

#include <regex>
class Solution {
public:
       bool isNumeric(char* s)
    {
        if (!s || *s=='\0')
            return false;
        return regex_match(s,regex("^[-+]?\\d*(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?$"));//全文匹配

    }

};
全部评论
请问匹配.的时候为什么加了两个转义字符\\啊,用\.不就已经对.转义了吗,这不太明白
点赞 回复
分享
发布于 2020-07-21 16:07

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务