ysyx的表达式求值环节需要自行编写规则。在样例里,官方已经给出了匹配空格、加号的样例。
空格规则对应字符串为 " +",表示匹配一个或更多空格。加号表示前面的符号至少出现一次。
加号规则 则是"\\+" ,首先,加号+在正则表达式里是特殊符号,需要一个反斜杠 \ 转义才能执行,但是反斜杠在C语言里也是特殊符号,所以需要再加一个反斜杠,因此匹配一个加号需要双反斜杠,即“ \\+ "。
除此之外,乘号 * 在正则表达式里也有特殊含义,匹配单个符号时也需要用双反斜杠 " \\* "。减号 - 和除号/ 不是特殊符号,直接输入即可。
简单来说,如果符号没有特殊含义,那么在字符串里直接写就行。如果有特殊含义,比如: + * . ? | ( ) [ ] { } ^ $ \ 等,如果在字符串里直接写入,那就会按照它们的特殊含义来使用。想要它们的字面含义,就需要使用双反斜杠。
再举一个例子,用[0-9]* 来匹配一串数字,在这里,横杠、括号和星号都是取特殊含义,不是要字面匹配,所以不需要转义。
标签:表达,正则表达式,含义,加号,斜杠,字符串,匹配 From: https://www.cnblogs.com/namezhyp/p/18135332