TRegExpr是正则表达式在delphi中的一个很好的实现。
是一个单独的单元,使用时直接引用即可。还自带了几个sample。
对其中的SelfTest例子加了几行注释如下:
{ basic tests }
r := TRegExpr.Create;
r.Expression := '[A-Z]';
r.Exec ('234578923457823659GHJK38');
Check (0, 19, 1);
//?在此处表示让*处于非贪婪模式
r.Expression := '[A-Z]*?';
r.Exec ('234578923457823659ARTZU38');
Check (0, 1, 0);
r.Expression := '[A-Z]+';
r.Exec ('234578923457823659ARTZU38');
Check (0, 19, 5);
//和上面的+方式,功能一样
r.Expression := '[A-Z][A-Z]*';
r.Exec ('234578923457823659ARTZU38');
Check (0, 19, 5);
//?这里表示匹配[A-Z]0次或者一次
r.Expression := '[A-Z][A-Z]?';
r.Exec ('234578923457823659ARTZU38');
Check (0, 19, 2);
// \d代表数字,^代表非,总得来说就是一个或者多个非数字字符
r.Expression := '[^\d]+';
r.Exec ('234578923457823659ARTZU38');
Check (0, 19, 5);