in reply to Re: Regexes are slow (or, why I advocate String::Index)
in thread Regexes are slow (or, why I advocate String::Index)

char *strpbrk(const char *s, const char *charset);

It takes a string (char*) and returns a pointer (char *) to the position to break out the portion of the first string at a position with a character from the charset string.

OK, not much better. But it is more or less orthagonal to things such as compare no more than n characters from two strings (strncmp()).

Replies are listed 'Best First'.
Re: Re: Re: Regexes are slow (or, why I advocate String::Index)
by jordanh (Chaplain) on May 15, 2004 at 19:46 UTC
      It takes a string (char*) and returns a pointer (char *) to the position to break out the portion of the first string at a position with a character from the charset string.
    I think that this nomenclature goes back to SNOBOL pattern matching, which dates back to 1962.

    There are these two complementary pattern matching operators in SNOBOL:

    SPAN matches a string containing any characters in its argument list, BREAK matches a string containing any characters not in its argument list. I think the implied mnemonic is to SPAN a substring containing a character set or BREAK (stop matching) on a substring containing anything not in the character set.