home *** CD-ROM | disk | FTP | other *** search
- #import <misckit/MiscString.h>
-
- #define NUMREG 11
- #define NUMSTR 2
- void main() {
-
- id ts2, tstr = [MiscString newWithString:" 678HelLo My dear 44bonnie.3"];
- int i,j,spot,len,num,k;
- id a = [MiscString new],b= [MiscString new],c= [MiscString new];
- int numreg = NUMREG;
- char *regarr[NUMREG] = {"[0-9]",
- "[0-9]*",
- "([0-9])+",
- "[^0-9]+",
- "[a-z]+",
- "[a-zA-Z]+",
- "[{][^}]*[}]",
- NULL,
- "[[0-9]**",
- "[0-9]?[a-zA-Z]+",
- "([^0-9]+)"};
-
- char *strarr[NUMSTR] = {" 678HelLo My dear 44bonnie.3",
- "678HelLo My de(**)ar 44bo{}nnie.3"};
-
- for (k=0;k<NUMSTR;k++) {
- [tstr setStringValue:strarr[k]];
-
- for (i=0;i<numreg;i++) {
- printf("String is : \"%s\"\n",[tstr stringValue]);
- printf("numOf '%s' : %d\n",regarr[i],num = [tstr numOfRegex:regarr[i] caseSensitive:YES]);
- printf("numOf '%s' nocase: %d\n",regarr[i],[tstr numOfRegex:regarr[i] caseSensitive:NO]);
-
- printf("(-1 is MISC_STRING_LAST)\n");
- for (j=-1;j<=num;j++) {
- spot = [tstr grep:regarr[i] occurrenceNum:j caseSensitive:YES before:a middle:b after:c];
- printf("%d: retval: %d before: '%s' middle: '%s' after: '%s'\n",j,spot,
- [a stringValue],
- [b stringValue],
- [c stringValue]);
- spot = [tstr spotOfRegex:regarr[i] occurrenceNum:j caseSensitive:YES length:&len];
- printf("spot: %d len: %d\n",spot,len);
- spot = [tstr rspotOfRegex:regarr[i] occurrenceNum:j caseSensitive:YES length:&len];
- printf("rspot: %d len: %d\n",spot,len);
- }
-
- ts2 = [tstr copy];
- spot = [ts2 replaceEveryOccurrenceOfRegex:regarr[i] with:"[]" caseSensitive:YES];
- printf("After replace all '%s' with '[]': '%s'\n",regarr[i],[ts2 stringValue]);
- printf("(%d replacement(s))\n",spot);
- [ts2 free];
-
- for (j=-1;j<=num+1;j++) {
- ts2 = [tstr copy];
- [ts2 replaceRegex:regarr[i] with:"[]" occurrenceNum:j caseSensitive:YES];
- printf("replace %dth '%s' with '[]': '%s'\n",j,regarr[i],[ts2 stringValue]);
- [ts2 free];
- }
-
- printf("Matches '%s'? %d\n",regarr[i],[tstr matchesRegex:regarr[i]]);
- printf("----------------------------------------------------------\n");
- }
- }
- [tstr free];
- [a free];
- [b free];
- [c free];
-
- }