Difference between revisions of "Create matcher"

From Kolmafia
Jump to navigation Jump to search
imported>Matt.chugg
(add code sample)
imported>Ulti
(improving navigation)
 
(5 intermediate revisions by 2 users not shown)
Line 20: Line 20:
  
 
needscode=yes|
 
needscode=yes|
 
}}
 
 
  
 
code1={{CodeSample|
 
code1={{CodeSample|
 
title=Code Sample|
 
title=Code Sample|
description=The following code will check if you are entitled to any new trophies and if so will attempt to buy them.
+
description=The following code will check if you are entitled to any new trophies and if so will attempt to buy them.|
 
code=<syntaxhighlight>
 
code=<syntaxhighlight>
 
string trophypage = visit_url("trophy.php");
 
string trophypage = visit_url("trophy.php");
 
matcher trophymatcher = create_matcher("name\=whichtrophy.*?value\=(.*?)\>",trophypage);
 
matcher trophymatcher = create_matcher("name\=whichtrophy.*?value\=(.*?)\>",trophypage);
 
while (find(trophymatcher)){
 
while (find(trophymatcher)){
if (my_meat() >= 10000) {
+
  if (my_meat() >= 10000) {
string buytrophy=visit_url("trophy.php?action=buytrophy&whichtrophy="+group(trophymatcher,1),true);
+
      string buytrophy=visit_url("trophy.php?action=buytrophy&whichtrophy="+group(trophymatcher,1),true);
} else {
+
  } else {
print("Not enough meat","red");
+
      print("Not enough meat","red");
}
+
  }
 
}
 
}
</syntaxhighlight>
+
</syntaxhighlight>}}|
 +
 
 +
see_also={{SeeAlso|find|replace_all|replace_first}}|
 +
}}
 +
 
 +
 
 +
 
  
 
[[Category:String Handling Routines]]
 
[[Category:String Handling Routines]]

Latest revision as of 17:12, 14 October 2014

needs(code_samples);

Function Syntax

matcher create_matcher(string regex ,string input )

  • regex is the regular expression to use
  • input is the string to search with a regular expression

Creates a matcher from a pattern and input string.

Code Sample

The following code will check if you are entitled to any new trophies and if so will attempt to buy them.

string trophypage = visit_url("trophy.php");
matcher trophymatcher = create_matcher("name\=whichtrophy.*?value\=(.*?)\>",trophypage);
while (find(trophymatcher)){
   if (my_meat() >= 10000) {
      string buytrophy=visit_url("trophy.php?action=buytrophy&whichtrophy="+group(trophymatcher,1),true);
   } else {
      print("Not enough meat","red");
   }
}

See Also

find() | replace_all() | replace_first()