匹配数字、指定字符串
source:="ParseRegExpr 2011 ShenZhenTinysoft (TSL)";
ParseRegExpr("(\\d+).*(Tinysoft)",source,"",result,MPos,Mlen);
return result;
//输出:array(("2011 ShenZhenTinysoft","2011","Tinysoft"))
//输
范例一说明:
结果中返回匹配的源串"2011 ShenZhenTinysoft"以及匹配出来的串"2011"和"Tinysoft"
1、在匹配串中加中括号()是表示将匹配的结果返回,下面的例子中,要返回的匹配串的内容是(\\d+)和(tinysoft)匹配出来的结果。
2、\本身就是转义字符,所以要用\\d来表示\d是一个元字符(表示匹配一个数字字符)。\\d+表示匹配多个数字字符。
3、.表示匹配任意单个字符,除'\n'外。.*表示匹配任意多个单个字符。由于.*没有中括号(),所以匹配的字符不返回。
4、(Tinysoft)匹配字符串Tinysoft,并将匹配的字符返回。注意,字符大小写敏感。
范例二:匹配数字、字符串、带括号的字符串
source:="ParseRegExpr 2011 ShenZhenTinysoft (TSL)";
ParseRegExpr("(\\d+).*(Tinysoft) (\\(\\w+\\))",source,"",result,MPos,Mlen);
return result;
//输出:array(("2011 ShenZhenTinysoft (TSL)","2011","Tinysoft","(TSL)"))
数
范例二说明:
与范例一相比,新增了对()的匹配。
结果中返回匹配的源串"2011 ShenZhenTinysoft (TSL)"以及匹配出来的串"2011"、"Tinysoft"和"(TSL)"。
1、\\(和\\)是对中括号()的匹配。
2、\\w表示\w是一个元字符,匹配包括下划线的任何单词字符。\\w+表示匹配多个任意单词字符。