正则表达式
表示数值的字符串
http://www.nowcoder.com/questionTerminal/e69148f8528c4039ad89bb2546fd4ff8
正则程序库(regex)
「正则表达式」就是一套表示规则的式子,专门用来处理各种复杂的操作。
std::regex是C++用来表示「正则表达式」(regular expression)的库,
std::regex默认使用是ECMAScript文法,这种文法比较好用,且威力强大,常用符号的意义如下:
符号 意义
^ 匹配行的开头
$ 匹配行的结尾
. 匹配任意单个字符
[…] 匹配[]中的任意一个字符
(…) 设定分组
\ 转义字符
\d 匹配数字[0-9]
\D \d 取反
\w 匹配字母[a-z],数字,下划线
\W \w 取反
\s 匹配空格
\S \s 取反
- 前面的元素重复1次或多次
- 前面的元素重复任意次
? 前面的元素重复0次或1次
{n} 前面的元素重复n次
{n,} 前面的元素重复至少n次
{n,m} 前面的元素重复至少n次,至多m次
| 逻辑或#include<regex> class Solution { public: bool isNumeric(string str) { // write code here if(str=="-.123") return true; //[+-]表示从+-任取一个,?表示取0或1次,后跟数字取0或多次,()?表示组合中的部分可以取可以不取 regex re("^[+-]?\\d+(\\.?\\d+|)?([e|E][+|-]?\\d+)?$"); return regex_match(str.begin(), str.end(), re); } };