Page 250 - 6734
P. 250

world або hello
           # або MatchFirst([Literal("world"),Literal("hello")])
           print(p.parseString(s))
           #['hello']

           p=Literal("world")&Literal("hello") # як +, але не
           послідовно, а в довільному порядку
           # або p=Each([Literal("world"), Literal("hello")])
           print(p.parseString(s))
           #['hello', 'world']

           # літерал і слово (якщо є; але без нього)
           p=Literal('hello')+Optional(Suppress(Word(alphas)))
           print(p.parseString(s)) # без другого слова
           #['hello']

           def fn(s, loc, toks):
               print(s, loc, toks)
           p=Word(alphas).setParseAction(fn)+Word(alphas) #
           викликає функцію fn для першого слова
           p.parseString(s)
           #hello world! 0 ['hello']

           p=Word(alphas).setResultsName("word1")+Word(alphas+'!
           ') # у виразі задано ім'я для першого слова
           print(p.parseString(s).word1)
           #hello

           p=Literal("hello").setParseAction(replaceWith("hi"))
           print(p.transformString(s)) # заміна hello на hi
           #hi world!

           alphasUA='АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯабвгґдеєжз
           иіїйклмнопрстуфхцчшщьюя'
           alphasRU='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзи
                                         249
   245   246   247   248   249   250   251   252   253   254   255