Return first match of Ruby regex

前端 未结 5 1420
甜味超标
甜味超标 2020-12-07 21:26

I\'m looking for a way to perform a regex match on a string in Ruby and have it short-circuit on the first match.

The string I\'m processing is long and from what it

5条回答
  •  天命终不由人
    2020-12-07 22:05

    A Regular Expression (regex) is nothing but a finite state machine (FSM).

    An FSM attempts to answer the question "Is this state possible or not?"

    It keeps attempting to make a pattern match until a match is found (success), or until all paths are explored and no match was found (failure).

    On success, the question "Is this state possible or not?" has been answered with a "yes". Hence no further matching is necessary and the regex returns.

    See this and this for more on this.

    Further: here is an interesting example to demonstrate how regex works. Here, a regex is used to detect if a give number is prime. This example is in perl, but it can as well be written in ruby.

提交回复
热议问题