Page 249 - 6734
P. 249

alphas='abcde...'+'ABCDE...'
           print(type(word))
           #<class 'pyparsing.Word'>
           p="hello"+word+Literal("!")
           # або p=And([Literal("hello"), word, Literal("!")])
           print(type(p))
           #<class 'pyparsing.And'>
           try: # тут бажане перехоплення помилки
               print(p.parseString(s)) # знайти p в s ОДИН раз
           #['hello', 'world', '!']
               print(p.parseString(s).asList()[0])
           #hello
           except: pass

           for x in Word(alphas).searchString(s): # знайти УСІ
           слова в s
               print(x)
           #['hello']
           #['world']

           print(ZeroOrMore("o").searchString(s)) # 0 або більше
           #[['o'], [], ['o']]
           print(OneOrMore("o").searchString(s)) # 1 або більше
           #[['o'], ['o']]
           res=[x for x in OneOrMore("o").scanString(s)]
           print(res[0]) # кортеж
           #((['o'], {}), 4, 5)

           p=Literal('hello')^Literal('world') # або 'hello' або
           'world'
           # або p=Or([Literal('hello'), Literal('world')])
           print(p.parseString("world"))
           #['world']

           p=Literal("world")|Literal("hello") # знайти перше
                                         248
   244   245   246   247   248   249   250   251   252   253   254