hyTags
HomeHome DocumentationDocumentation

string-scan

Matches a substring or pattern from the start of the string. Useful for parsers and tokenizers. Either substring or pattern must be provided, but not both.
Parameter
Type
Description
self
String
String to scan from the beginning
substring
String?
Literal substring to match at the start
pattern
String?
Regular expression pattern to match at the start
return
string
The matched portion of the string, or nil if no match
Test Case:Scan substring from start
    <div></div>
    
    <string-new value="hello world">
    <string-scan substring="hello">
    <assert-equal value="hello" type="string">
    
    👆 Try to change something!
  • Test Case:Scan pattern from start
      <div></div>
      
      <string-new value="123abc">
      <string-scan pattern="[0-9]+">
      <assert-equal value="123" type="string">
      
      👆 Try to change something!
    • Test Case:Scan returns nil when no match at start
        <div></div>
        
        <string-new value="abc123">
        <string-scan pattern="[0-9]+">
        <value-is-nil>
        <assert-true>
        
        👆 Try to change something!
      • Test Case:Scan special characters
          <div></div>
          
          <string-new value="
          	&quot;hello">
          <string-scan pattern="[\n\t&quot;]+">
          <assert-equal value="
          	&quot;" type="string">
          
          👆 Try to change something!
        • Test succeeded Test failed