@@ -442,26 +442,26 @@ see <- function(rx) str_view("abc ABC 123\t.!?\\(){}\n", rx)
442
442
443
443
` alt <- function(rx) str_view("abcde", rx) `
444
444
445
- +------------- +--------------+-----------------+--------------------------------------+
446
- | regexp | matches | example | example output\ |
447
- | | | | (highlighted characters are in \<\> ) |
448
- +============= +==============+=================+======================================+
449
- | `ab| d` | or | `alt("ab| d")` | ``` |
450
- | | | | <ab >c<d >e |
451
- | | | | ``` |
452
- +------------- +--------------+-----------------+--------------------------------------+
453
- | ` [abe] ` | one of | ` alt("[abe]" ` | ``` |
454
- | | | | <a ><b >cd<e > |
455
- | | | | ``` |
456
- +------------- +--------------+-----------------+--------------------------------------+
457
- | ` [^abe] ` | anything but | ` alt("[^abe]") ` | ``` |
458
- | | | | ab<c ><d >e |
459
- | | | | ``` |
460
- +------------- +--------------+-----------------+--------------------------------------+
461
- | ` [a-c] ` | range | ` alt("[a-c]") ` | ``` |
462
- | | | | <a ><b ><c >de |
463
- | | | | ``` |
464
- +------------- +--------------+-----------------+--------------------------------------+
445
+ +----------+--------------+-----------------+--------------------------------------+
446
+ | regexp | matches | example | example output\ |
447
+ | | | | (highlighted characters are in \<\> ) |
448
+ +==========+==============+=================+======================================+
449
+ | `ab| d` | or | `alt("ab| d")` | ``` |
450
+ | | | | <ab >c<d >e |
451
+ | | | | ``` |
452
+ +----------+--------------+-----------------+--------------------------------------+
453
+ | ` [abe] ` | one of | ` alt("[abe]" ` | ``` |
454
+ | | | | <a ><b >cd<e > |
455
+ | | | | ``` |
456
+ +----------+--------------+-----------------+--------------------------------------+
457
+ | ` [^abe] ` | anything but | ` alt("[^abe]") ` | ``` |
458
+ | | | | ab<c ><d >e |
459
+ | | | | ``` |
460
+ +----------+--------------+-----------------+--------------------------------------+
461
+ | ` [a-c] ` | range | ` alt("[a-c]") ` | ``` |
462
+ | | | | <a ><b ><c >de |
463
+ | | | | ``` |
464
+ +----------+--------------+-----------------+--------------------------------------+
465
465
466
466
: Alternates
467
467
@@ -484,61 +484,61 @@ see <- function(rx) str_view("abc ABC 123\t.!?\\(){}\n", rx)
484
484
485
485
` look <- function(rx) str_view("bacad", rx) `
486
486
487
- +------------- +-----------------+-------------------+--------------------------------------+
488
- | regexp | matches | example | example output\ |
489
- | | | | (highlighted characters are in \<\> ) |
490
- +============= +=================+===================+======================================+
491
- | ` a(?=c) ` | followed by | ` look("a(?=c)") ` | ``` |
492
- | | | | b<a >cad |
493
- | | | | ``` |
494
- +------------- +-----------------+-------------------+--------------------------------------+
495
- | ` a(?!c) ` | not followed by | ` look("a(?!c)") ` | ``` |
496
- | | | | bac<a >d |
497
- | | | | ``` |
498
- +------------- +-----------------+-------------------+--------------------------------------+
499
- | ` (?<=b)a ` | preceded by | ` look("(?<=b)a") ` | ``` |
500
- | | | | b<a >cad |
501
- | | | | ``` |
502
- +------------- +-----------------+-------------------+--------------------------------------+
503
- | ` (?<!b)a ` | not preceded by | ` look("(?<!b)a") ` | ``` |
504
- | | | | bac<a >d |
505
- | | | | ``` |
506
- +------------- +-----------------+-------------------+--------------------------------------+
487
+ +-----------+-----------------+-------------------+--------------------------------------+
488
+ | regexp | matches | example | example output\ |
489
+ | | | | (highlighted characters are in \<\> ) |
490
+ +===========+=================+===================+======================================+
491
+ | ` a(?=c) ` | followed by | ` look("a(?=c)") ` | ``` |
492
+ | | | | b<a >cad |
493
+ | | | | ``` |
494
+ +-----------+-----------------+-------------------+--------------------------------------+
495
+ | ` a(?!c) ` | not followed by | ` look("a(?!c)") ` | ``` |
496
+ | | | | bac<a >d |
497
+ | | | | ``` |
498
+ +-----------+-----------------+-------------------+--------------------------------------+
499
+ | ` (?<=b)a ` | preceded by | ` look("(?<=b)a") ` | ``` |
500
+ | | | | b<a >cad |
501
+ | | | | ``` |
502
+ +-----------+-----------------+-------------------+--------------------------------------+
503
+ | ` (?<!b)a ` | not preceded by | ` look("(?<!b)a") ` | ``` |
504
+ | | | | bac<a >d |
505
+ | | | | ``` |
506
+ +-----------+-----------------+-------------------+--------------------------------------+
507
507
508
508
: Look arounds
509
509
510
510
### Quantifiers
511
511
512
512
` quant <- function(rx) str_view(".a.aa.aaa", rx) `
513
513
514
- +------------- +---------------------+-------------------+--------------------------------------+
515
- | regexp | matches | example | example output\ |
516
- | | | | (highlighted characters are in \<\> ) |
517
- +============= +=====================+===================+======================================+
518
- | ` a? ` | zero or one | ` quant("a?") ` | ``` |
519
- | | | | <>.<a ><>.<a ><a ><>.<a ><a ><a ><> |
520
- | | | | ``` |
521
- +------------- +---------------------+-------------------+--------------------------------------+
522
- | ` a* ` | zero or more | ` quant("a*") ` | ``` |
523
- | | | | <>.<a ><>.<aa ><>.<aaa ><> |
524
- | | | | ``` |
525
- +------------- +---------------------+-------------------+--------------------------------------+
526
- | ` a+ ` | one or more | ` quant("a+") ` | ``` |
527
- | | | | .<a >.<aa >.<aaa > |
528
- | | | | ``` |
529
- +------------- +---------------------+-------------------+--------------------------------------+
530
- | ` a{n} ` | exactly ` n ` | ` quant("a{2}") ` | ``` |
531
- | | | | .a.<aa >.<aa >a |
532
- | | | | ``` |
533
- +------------- +---------------------+-------------------+--------------------------------------+
534
- | ` a{n, } ` | ` n ` or more | ` quant("a{2,}") ` | ``` |
535
- | | | | .a.<aa >.<aaa > |
536
- | | | | ``` |
537
- +------------- +---------------------+-------------------+--------------------------------------+
538
- | ` a{n, m} ` | between ` n ` and ` m ` | ` quant("a{2,4}") ` | ``` |
539
- | | | | .a.<aa >.<aaa > |
540
- | | | | ``` |
541
- +------------- +---------------------+-------------------+--------------------------------------+
514
+ +-----------+---------------------+-------------------+--------------------------------------+
515
+ | regexp | matches | example | example output\ |
516
+ | | | | (highlighted characters are in \<\> ) |
517
+ +===========+=====================+===================+======================================+
518
+ | ` a? ` | zero or one | ` quant("a?") ` | ``` |
519
+ | | | | <>.<a ><>.<a ><a ><>.<a ><a ><a ><> |
520
+ | | | | ``` |
521
+ +-----------+---------------------+-------------------+--------------------------------------+
522
+ | ` a* ` | zero or more | ` quant("a*") ` | ``` |
523
+ | | | | <>.<a ><>.<aa ><>.<aaa ><> |
524
+ | | | | ``` |
525
+ +-----------+---------------------+-------------------+--------------------------------------+
526
+ | ` a+ ` | one or more | ` quant("a+") ` | ``` |
527
+ | | | | .<a >.<aa >.<aaa > |
528
+ | | | | ``` |
529
+ +-----------+---------------------+-------------------+--------------------------------------+
530
+ | ` a{n} ` | exactly ` n ` | ` quant("a{2}") ` | ``` |
531
+ | | | | .a.<aa >.<aa >a |
532
+ | | | | ``` |
533
+ +-----------+---------------------+-------------------+--------------------------------------+
534
+ | ` a{n, } ` | ` n ` or more | ` quant("a{2,}") ` | ``` |
535
+ | | | | .a.<aa >.<aaa > |
536
+ | | | | ``` |
537
+ +-----------+---------------------+-------------------+--------------------------------------+
538
+ | ` a{n, m} ` | between ` n ` and ` m ` | ` quant("a{2,4}") ` | ``` |
539
+ | | | | .a.<aa >.<aaa > |
540
+ | | | | ``` |
541
+ +-----------+---------------------+-------------------+--------------------------------------+
542
542
543
543
: Quantifiers
544
544
@@ -548,14 +548,14 @@ see <- function(rx) str_view("abc ABC 123\t.!?\\(){}\n", rx)
548
548
549
549
Use parentheses to set precedent (order of evaluation) and create groups
550
550
551
- +------------- +-----------------+------------------+--------------------------------------+
552
- | regexp | matches | example | example output\ |
553
- | | | | (highlighted characters are in \<\> ) |
554
- +============= +=================+==================+======================================+
555
- | `(ab| d)e` | sets precedence | `alt("(ab| d)e")` | ``` |
556
- | | | | abc<de > |
557
- | | | | ``` |
558
- +------------- +-----------------+------------------+--------------------------------------+
551
+ +-----------+-----------------+------------------+--------------------------------------+
552
+ | regexp | matches | example | example output\ |
553
+ | | | | (highlighted characters are in \<\> ) |
554
+ +===========+=================+==================+======================================+
555
+ | `(ab| d)e` | sets precedence | `alt("(ab| d)e")` | ``` |
556
+ | | | | abc<de > |
557
+ | | | | ``` |
558
+ +-----------+-----------------+------------------+--------------------------------------+
559
559
560
560
: Groups
561
561
0 commit comments