RosettaCodeData/Task/String-matching/SNOBOL4/string-matching.sno

15 lines
446 B
Plaintext

s1 = 'abcdabefgab'
s2 = 'ab'
s3 = 'xy'
OUTPUT = ?(s1 ? POS(0) s2) "1. " s2 " begins " s1
OUTPUT = ?(s1 ? POS(0) s3) "1. " s3 " begins " s1 ;# fails
n = 0
again s1 POS(n) ARB s2 @a :F(p3)
OUTPUT = "2. " s2 " found at position "
+ a - SIZE(s2) " in " s1
n = a :(again)
p3 OUTPUT = ?(s1 ? s2 RPOS(0)) "3. " s2 " ends " s1
END