def getToken(self): token = Regex( r'((?# Начало разбора IP )(?<!\.)(?:25[0-5]|2[0-4]\d|1\d\d|0?[1-9]\d|0{,2}[1-9])(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)){3}(?!\.[0-9])(?!\w)(?# Конец разбора IP )|(((news|telnet|nttp|file|http|ftp|https|page)://)|(www|ftp)\.)[-\w0-9\.]+[-\w0-9]+)(:[0-9]*)?(/([-\w0-9_,\$\.\+\!\*\(\):@|&=\?/~\#\%]*[-\w0-9_\$\+\!\*\(\):@|&=\?/~\#\%])?)?', re.IGNORECASE)("url") token.setParseAction(self.__convertToUrlLink) return token
def getToken(self): SOL = LineStart() EOL = LineEnd() emptyToken = Empty().setParseAction(self.__initVars) tableCell = Regex(r'(?P<text>(.|(?:\\\n))*?)(?:\\\n\s*)*(?P<end>\|\|\|?)%s' % TagAttrsPattern.value) tableCell.leaveWhitespace().setParseAction(self.__convertTableCell) tableRow = SOL + \ Regex(r'\|{2,4}(?!\|)') + Regex(TagAttrsPattern.value) + \ OneOrMore(tableCell) + Optional(EOL) tableRow.leaveWhitespace().setParseAction(self.__convertTableRow) tableCaption = SOL + \ Regex(r'(?P<start>\|{5})%s(?P<text>(.|(?:\\\n))*)(?:\\\n\s*)*' % TagAttrsPattern.value) + \ Optional(EOL) tableCaption.leaveWhitespace().setParseAction(self.__convertTableCaption) table = SOL + Regex(r'\|\| *(?P<params>.+)?') + \ Suppress(EOL) + emptyToken + \ Suppress(Optional(tableCaption)) + OneOrMore(tableRow) table = table.setParseAction(self.__convertTable)('table') return table
def getToken(self): tableCell = Regex(r"(?P<text>(.|(\\\n))*?)\|\|") tableCell.setParseAction(self.__convertTableCell) tableRow = LineStart() + Literal("||") + OneOrMore(tableCell).leaveWhitespace() + Optional(LineEnd()) tableRow.setParseAction(self.__convertTableRow) table = LineStart() + Regex(r"\|\| *(?P<params>.+)?") + LineEnd() + OneOrMore(tableRow) table = table.setParseAction(self.__convertTable)("table") return table
def getToken (self): tableCell = Regex (r"(?P<text>(.|(\\\n))*?)(\\\n\s*)*\|\|", re.UNICODE) tableCell.setParseAction(self.__convertTableCell) tableRow = LineStart() + "||" + OneOrMore (tableCell) + Optional (LineEnd()) tableRow.setParseAction(self.__convertTableRow) table = LineStart() + Regex (r"\|\| *(?P<params>.+)?", re.UNICODE) + LineEnd() + OneOrMore (tableRow) table = table.setParseAction(self.__convertTable)("table") return table
def getToken(self): tableCell = Regex(r"(?P<text>(.|(\\\n))*?)(\\\n\s*)*\|\|", re.UNICODE) tableCell.setParseAction(self.__convertTableCell) tableRow = LineStart() + "||" + OneOrMore(tableCell) + Optional( LineEnd()) tableRow.setParseAction(self.__convertTableRow) table = LineStart() + Regex( r"\|\| *(?P<params>.+)?", re.UNICODE) + LineEnd() + OneOrMore(tableRow) table = table.setParseAction(self.__convertTable)("table") return table
def getToken(self): result = Regex(r"""%\s*? (?: (?:thumb\s+)? (?:width\s*?=\s*?(?P<width>\d+) |height\s*?=\s*?(?P<height>\d+) |maxsize\s*?=\s*?(?P<maxsize>\d+))\s*? (?:px)? |thumb\s*? )\s*? %\s*? Attach:(?P<fname>.*?\.(?:jpe?g|bmp|gif|tiff?|png))\s*?%%""", re.IGNORECASE | re.VERBOSE) result = result.setParseAction(self.__convertThumb)("thumbnail") return result
def getToken (self): result = Regex (r"""%\s*? (?: (?:thumb\s+)? (?:width\s*?=\s*?(?P<width>\d+) |height\s*?=\s*?(?P<height>\d+) |maxsize\s*?=\s*?(?P<maxsize>\d+))\s*? (?:px)? |thumb\s*? )\s*? %\s*? Attach:(?P<fname>.*?\.(?:jpe?g|bmp|gif|tiff?|png))\s*?%%""", re.IGNORECASE | re.VERBOSE) result = result.setParseAction (self.__convertThumb)("thumbnail") return result
def getToken(self): token = ( BoldToken.start + Regex('.*?' + SubscriptToken.start + '.*?' + SubscriptToken.end) + BoldToken.end)("bold_subscript") token.setParseAction(self.getAction(u'<b>', u'</b>')) return token
def getToken(self): token = ( ItalicToken.start + Regex('.*?' + SubscriptToken.start + '.*?' + SubscriptToken.end) + ItalicToken.end)("italic_subscript") token.setParseAction(self.getAction(u'<i>', u'</i>')) return token
def getToken(self): start = Regex("%\\s*(?P<align>left|right|center|justify)\\s*%", re.I | re.U) text = Regex( r'''(?P<text> .*? (\(:\s*(?P<name>\w+).*?:\) (.*? # Контент между (:name:) и (:nameend:) \(:\s*(?P=name)end\s*:\))?.*?)*?) (?P<end>(\n\n)|\Z)''', re.M | re.S | re.I | re.U | re.X) alignText = start + text alignText.setParseAction(self._alignText) alignText = alignText(u"alignment") return alignText
def getDefaultToken(self, outerStart, outerEnd, innerStart, innerEnd): outerEnd_for_RE = escapeTextForRE(outerEnd) innerStart_for_RE = escapeTextForRE(innerStart) innerEnd_for_RE = escapeTextForRE(innerEnd) return (outerStart + Regex('(?:(?!' + outerEnd_for_RE + ').)*?' + innerStart_for_RE + '.*?' + innerEnd_for_RE) + outerEnd)
def getToken (self): emptyToken = Empty().setParseAction(self.__initVars) tableCell = Regex (r'(?P<text>(.|(?:\\\n))*?)(?:\\\n\s*)*(?P<end>\|\|\|?)' + TagAttrsPattern.value, re.UNICODE) tableCell.leaveWhitespace().setParseAction(self.__convertTableCell) tableRow = LineStart() + Regex (r'\|{2,4}(?!\|)' + TagAttrsPattern.value, re.UNICODE) + \ OneOrMore (tableCell) + Optional (LineEnd()) tableRow.leaveWhitespace().setParseAction(self.__convertTableRow) tableCaption = LineStart() + Regex (r'(?P<start>\|{5})' + TagAttrsPattern.value + r'(?P<text>(.|(?:\\\n))*)(?:\\\n\s*)*', re.UNICODE) + Optional (LineEnd()) tableCaption.leaveWhitespace().setParseAction(self.__convertTableCaption) table = LineStart() + Regex (r'\|\| *(?P<params>.+)?', re.UNICODE) + Suppress (LineEnd()) + emptyToken + \ Suppress (Optional (tableCaption)) + OneOrMore (tableRow) table = table.setParseAction(self.__convertTable)('table') return table
def getToken (self): term = Regex (r"(?P<text>(?:(?:\\\n)|.)*)\s*(?=\n)") term = LineStart() + Regex (r"\^\^") + Regex(TagAttrsPattern.value) + term + LineEnd() term.setParseAction(self.__convertTerm).leaveWhitespace() description = Regex (r"(?P<text>(?:(?!(?<!\\)\n(?:<}}|\$\$.|\^\^.)).)*)", re.DOTALL) description = LineStart() + Regex (r"\$\$") + Regex(TagAttrsPattern.value) + description + LineEnd() description.setParseAction(self.__convertDescription).leaveWhitespace() definitionList = LineStart() + Regex (r"{{> *(?P<params>.+)?\s*") + \ OneOrMore (term | description) + Suppress("<}}") + Optional (FollowedBy (LineEnd())) definitionList.setParseAction(self.__convertDefinitionList)("definitionlist").leaveWhitespace() return definitionList
def getToken(self): regex = "^(?P<level>[" for param in self.allListsParams: regex += param.symbol regex += r"]+) *(?P<item>(?:\\\n|.)*?)$\n{0,2}" item = Regex(regex, re.MULTILINE).setParseAction(noConvert).leaveWhitespace() fullList = OneOrMore(item).setParseAction(self.__convertList)("list") return fullList
def getToken (self): token = Regex ("([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}|(((news|telnet|nttp|file|http|ftp|https)://)|(www|ftp)\\.)[-\\w0-9\\.]+[-\\w0-9]+)(:[0-9]*)?(/([-\\w0-9_,\\$\\.\\+\\!\\*\\(\\):@|&=\\?/~\\#\\%]*[-\\w0-9_\\$\\+\\!\\*\\(\\):@|&=\\?/~\\#\\%])?)?", re.IGNORECASE | re.UNICODE)("url") token.setParseAction(self.__convertToUrlLink) return token
def getToken(self): textRegex = r'(?:(?:\w-\w)|\w)+' token = Regex(textRegex, re.UNICODE)('text') token.leaveWhitespace() return token
def _getBeginToken(self): return Regex( r'%(?P<params>[a-zA-Z_#][\w\s."\'_=:;#(),-]+?)\s*%') + ~LineEnd()
def getToken(self): token = (BoldToken.start + Regex(".*?'\^.*?\^'") + BoldToken.end)("bold_superscript") token.setParseAction(self.getAction(u'<b>', u'</b>')) return token
def getToken(self): token = Regex(r"\\\n") token = token.setParseAction(lambda s, l, t: u"")("linejoin") return token
def getToken (self): result = Regex (r"""% *?(((thumb +)?width *?= *?(?P<width>\d+) *?(px)?)|((thumb +)?height *?= *?(?P<height>\d+) *?(px)?)|((thumb +)?maxsize *?= *?(?P<maxsize>\d+) *?(px)?)|(thumb *?)) *?% *?Attach:(?P<fname>.*?\.(jpe?g|bmp|gif|tiff?|png)) *?%%""", re.IGNORECASE) result = result.setParseAction (self.__convertThumb)("thumbnail") return result
def getToken (self): token = Regex (ur'((?# Начало разбора IP )(?<!\.)(?:25[0-5]|2[0-4]\d|1\d\d|0?[1-9]\d|0{,2}[1-9])(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)){3}(?!\.[0-9])(?!\w)(?# Конец разбора IP )|(((news|telnet|nttp|file|http|ftp|https|page)://)|(www|ftp)\.)[-\w0-9\.]+[-\w0-9]+)(:[0-9]*)?(/([-\w0-9_,\$\.\+\!\*\(\):@|&=\?/~\#\%]*[-\w0-9_\$\+\!\*\(\):@|&=\?/~\#\%])?)?', re.IGNORECASE | re.UNICODE)("url") token.setParseAction(self.__convertToUrlLink) return token
def getToken(self): token = Regex( "(https?|ftp)://[a-z0-9-]+(\.[a-z0-9-]+)+(/[-._\w%+]+)*/[-\w_.%+]+\.(gif|png|jpe?g|bmp|tiff?)", re.IGNORECASE).setParseAction( lambda s, l, t: '<img src="%s"/>' % t[0])("image") return token
def getToken(self): return Regex(r"\[(?P<count>\+{1,5})(?P<text>.*?)\1\]", re.MULTILINE | re.UNICODE | re.DOTALL).setParseAction(self.__parse)("big")
def getToken(self): return Regex(self.regex, flags=re.MULTILINE | re.DOTALL | re.IGNORECASE | re.VERBOSE).setParseAction(self.execute)("command")
def getToken(self): return Regex(r"\[(?P<count>-{1,4})(?P<text>.*?)\1\]", re.MULTILINE | re.DOTALL).setParseAction(self.__parse)("small")
def _getEndToken(self): return LineStart() + Regex(r'%%[ \t]*') + LineEnd()
def getToken(self): textRegex = r'(?:(?:[^\W_]-[^\W_])|[^\W_])+' token = Regex(textRegex, re.UNICODE)('text') token.leaveWhitespace() return token
def getToken(self): """ Токены для заголовков H1, H2,... """ return Regex(self.heading_Regex, re.MULTILINE).setParseAction( self.convertToHeading)("heading")
def __init__(self): self._token_1 = Regex(r"^#+\s+(\\\n|.)*$", re.M | re.U) self._token_2 = (Regex(r'.+', re.M | re.U) + LineEnd() + Regex( r'((-+)|(=+))', re.M | re.U).setWhitespaceChars(' \t') + LineEnd())
def getToken(self): token = (ItalicToken.start + Regex(".*?'\^.*?\^'") + ItalicToken.end)("italic_superscript") token.setParseAction(self.getAction(u'<i>', u'</i>')) return token
def getToken (self): textRegex = "[\w]+" token = Regex (textRegex, re.UNICODE)("text") token.leaveWhitespace() return token
def _getBeginToken(self): return ( LineStart() + Regex(r'%(?P<params>[a-zA-Z_#][\w\s."\'_=:;#(),-]+?)\s*%[ \t]*') + LineEnd().suppress())
def getToken(self): return Regex("----+").setParseAction(lambda s, l, t: "<hr>")("horline")
def getToken (self): textRegex = r'(?:(?:\w-\w)|\w)+' token = Regex (textRegex, re.UNICODE)('text') token.leaveWhitespace() return token