Ideone.com requires JavaScript to work.
fork(1) download loading...
  1. #!/usr/bin/perl
  2. $regex = '{[^}]+}|"Tarzan\d+"|(Tarzan\d+)';
  3. $subject = 'Jane" "Tarzan12" Tarzan11@Tarzan22 {4 Tarzan34}';
  4. # put Group 1 captures in an array
  5. my @group1Caps = ();
  6. while ($subject =~ m/$regex/g) {
  7. print 1ドル . "\n";
  8. if (defined 1ドル) {push (@group1Caps,1ドル); }
  9. }
  10. ######## The six main tasks we're likely to have ########
  11. # Task 1: Is there a match?
  12. print "*** Is there a Match? ***\n";
  13. if ( @group1Caps > 0) { print "Yes\n"; }
  14. else { print ("No\n"); }
  15. # Task 2: How many matches are there?
  16. print "\n*** Number of Matches ***\n";
  17. print scalar (@group1Caps);
  18. # Task 3: What is the first match?
  19. print "\n\n*** First Match ***\n";
  20. if ( @group1Caps > 0) { print $group1Caps[0]; }
  21. # Task 4: What are all the matches?
  22. print "\n\n*** Matches ***\n";
  23. if ( @group1Caps > 0) {
  24. foreach(@group1Caps) { print "$_\n"; }
  25. }
  26. # Task 5: Replace the matches
  27. ($replaced = $subject) =~ s /$regex/
  28. if (defined 1ドル) { "Superman"; } else {$&;} /eg;
  29. print "\n*** Replacements ***\n";
  30. print $replaced . "\n";
  31. # Task 6: Split
  32. # Start by replacing by something distinctive,
  33. # as in Step 5. Then split.
  34. @splits = split (/Superman/, $replaced);
  35. print "\n*** Splits ***\n";
  36. foreach(@splits) { print "$_\n"; }
IyEvdXNyL2Jpbi9wZXJsCiRyZWdleCA9ICd7W159XSt9fCJUYXJ6YW5cZCsifChUYXJ6YW5cZCspJzsKJHN1YmplY3QgPSAnSmFuZSIgIlRhcnphbjEyIiBUYXJ6YW4xMUBUYXJ6YW4yMiB7NCBUYXJ6YW4zNH0nOwojIHB1dCBHcm91cCAxIGNhcHR1cmVzIGluIGFuIGFycmF5Cm15IEBncm91cDFDYXBzID0gKCk7CndoaWxlICgkc3ViamVjdCA9fiBtLyRyZWdleC9nKSB7CglwcmludCAkMSAuICJcbiI7CglpZiAoZGVmaW5lZCAkMSkge3B1c2goQGdyb3VwMUNhcHMsJDEpOwl9Cn0KCiMjIyMjIyMjIFRoZSBzaXggbWFpbiB0YXNrcyB3ZSdyZSBsaWtlbHkgdG8gaGF2ZSAjIyMjIyMjIwoKIyBUYXNrIDE6IElzIHRoZXJlIGEgbWF0Y2g/CnByaW50ICIqKiogSXMgdGhlcmUgYSBNYXRjaD8gKioqXG4iOwppZiAoIEBncm91cDFDYXBzID4gMCkgIHsgcHJpbnQgIlllc1xuIjsgfQplbHNlIHsgcHJpbnQgKCJOb1xuIik7IH0KCiMgVGFzayAyOiBIb3cgbWFueSBtYXRjaGVzIGFyZSB0aGVyZT8KcHJpbnQgIlxuKioqIE51bWJlciBvZiBNYXRjaGVzICoqKlxuIjsKcHJpbnQgc2NhbGFyKEBncm91cDFDYXBzKTsKCiMgVGFzayAzOiBXaGF0IGlzIHRoZSBmaXJzdCBtYXRjaD8KcHJpbnQgIlxuXG4qKiogRmlyc3QgTWF0Y2ggKioqXG4iOwppZiAoIEBncm91cDFDYXBzID4gMCkgIHsgcHJpbnQgJGdyb3VwMUNhcHNbMF07IH0KCiMgVGFzayA0OiBXaGF0IGFyZSBhbGwgdGhlIG1hdGNoZXM/CnByaW50ICJcblxuKioqIE1hdGNoZXMgKioqXG4iOwppZiAoIEBncm91cDFDYXBzID4gMCkgIHsgCglmb3JlYWNoKEBncm91cDFDYXBzKSB7IHByaW50ICIkX1xuIjsgfSAKCX0KCiMgVGFzayA1OiBSZXBsYWNlIHRoZSBtYXRjaGVzCigkcmVwbGFjZWQgPSAkc3ViamVjdCkgPX4gcy8kcmVnZXgvCgkJaWYgKGRlZmluZWQgJDEpIHsgIlN1cGVybWFuIjsgfSBlbHNlIHskJjt9IC9lZzsKcHJpbnQgIlxuKioqIFJlcGxhY2VtZW50cyAqKipcbiI7CnByaW50ICRyZXBsYWNlZCAuICJcbiI7CgojIFRhc2sgNjogU3BsaXQKIyBTdGFydCBieSByZXBsYWNpbmcgYnkgc29tZXRoaW5nIGRpc3RpbmN0aXZlLAojIGFzIGluIFN0ZXAgNS4gVGhlbiBzcGxpdC4KQHNwbGl0cyA9IHNwbGl0KC9TdXBlcm1hbi8sICRyZXBsYWNlZCk7CnByaW50ICJcbioqKiBTcGxpdHMgKioqXG4iOwpmb3JlYWNoKEBzcGxpdHMpIHsgcHJpbnQgIiRfXG4iOyB9IAo=
Success #stdin #stdout 0s 3564KB
stdin
Standard input is empty
stdout
Tarzan11
Tarzan22
*** Is there a Match? ***
Yes
*** Number of Matches ***
2
*** First Match ***
Tarzan11
*** Matches ***
Tarzan11
Tarzan22
*** Replacements ***
Jane" "Tarzan12" Superman@Superman {4 Tarzan34}
*** Splits ***
Jane" "Tarzan12" 
@
 {4 Tarzan34}
https://ideone.com/9Sz3Av
language:
Perl (perl 5.28.1)
created:
11 years ago
visibility:
public

Share or Embed source code

Discover > Sphere Engine API

The brand new service which powers Ideone!

Discover > IDE Widget

Widget for compiling and running the source code in a web browser!

AltStyle によって変換されたページ (->オリジナル) /