String matching: Difference between revisions

Content added Content deleted
mNo edit summary
(→‎{{header|Elixir}}: add Optional requirements)
Line 860: Line 860:
=={{header|Elixir}}==
=={{header|Elixir}}==
The String module has functions that cover the base requirements.
The String module has functions that cover the base requirements.
<lang elixir>
<lang elixir>s1 = "abcd"
s1 = "abcd"
s2 = "adab"
s2 = "adab"
s3 = "ab"
s3 = "ab"
Line 869: Line 868:
String.starts_with?(s2, s3)
String.starts_with?(s2, s3)
# => false
# => false

String.contains?(s1, s3)
# => true
String.contains?(s2, s3)
# => true


String.ends_with?(s1, s3)
String.ends_with?(s1, s3)
Line 875: Line 879:
# => true
# => true



String.contains?(s1, s3)
# Optional requirements:
# => true
Regex.run(~r/#{s3}/, s1, return: :index)
String.contains?(s2, s3)
# => true
# => [{0, 2}]
Regex.run(~r/#{s3}/, s2, return: :index)
</lang>
# => [{2, 2}]

Regex.scan(~r/#{s3}/, "abcabc", return: :index)
# => [[{0, 2}], [{3, 2}]]</lang>


=={{header|Emacs Lisp}}==
=={{header|Emacs Lisp}}==