diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-07-03 18:12:01 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-07-06 22:07:21 +0200 |
| commit | 735d8097489f836f32f65b8ff47f3e904642faf4 (patch) | |
| tree | 42a5ae3ba757eb0b8686f0c3f98b5123f45d3b57 /examples/xmlpatterns/schema/schema.py | |
| parent | fa1a682cfdc0238a7ca10ffd45ea5f6ada4c8e7e (diff) | |
Port some examples from QRegExp to QRegularExpression
QRegExp is deprecated.
Task-number: PYSIDE-1339
Task-number: PYSIDE-904
Change-Id: I5c5dc4965a03fbd1a3370be3fa9e64c5df6a9fd8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'examples/xmlpatterns/schema/schema.py')
| -rw-r--r-- | examples/xmlpatterns/schema/schema.py | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/examples/xmlpatterns/schema/schema.py b/examples/xmlpatterns/schema/schema.py index 677b56498..d3c22c184 100644 --- a/examples/xmlpatterns/schema/schema.py +++ b/examples/xmlpatterns/schema/schema.py @@ -77,19 +77,22 @@ class XmlSyntaxHighlighter(QtGui.QSyntaxHighlighter): format = QtGui.QTextCharFormat() format.setForeground(QtCore.Qt.darkBlue) format.setFontWeight(QtGui.QFont.Bold) - pattern = QtCore.QRegExp("(<[a-zA-Z:]+\\b|<\\?[a-zA-Z:]+\\b|\\?>|>|/>|</[a-zA-Z:]+>)") + pattern = QtCore.QRegularExpression(r'(<[a-zA-Z:]+\b|<\?[a-zA-Z:]+\b|\?>|>|/>|</[a-zA-Z:]+>)') + assert pattern.isValid() self.highlightingRules.append((pattern, format)) # Attribute format. format = QtGui.QTextCharFormat() format.setForeground(QtCore.Qt.darkGreen) - pattern = QtCore.QRegExp("[a-zA-Z:]+=") + pattern = QtCore.QRegularExpression('[a-zA-Z:]+=') + assert pattern.isValid() self.highlightingRules.append((pattern, format)) # Attribute content format. format = QtGui.QTextCharFormat() format.setForeground(QtCore.Qt.red) - pattern = QtCore.QRegExp("(\"[^\"]*\"|'[^']*')") + pattern = QtCore.QRegularExpression("(\"[^\"]*\"|'[^']*')") + assert pattern.isValid() self.highlightingRules.append((pattern, format)) # Comment format. @@ -97,35 +100,41 @@ class XmlSyntaxHighlighter(QtGui.QSyntaxHighlighter): self.commentFormat.setForeground(QtCore.Qt.lightGray) self.commentFormat.setFontItalic(True) - self.commentStartExpression = QtCore.QRegExp("<!--") - self.commentEndExpression = QtCore.QRegExp("-->") + self.commentStartExpression = QtCore.QRegularExpression("<!--") + assert self.commentStartExpression.isValid() + self.commentEndExpression = QtCore.QRegularExpression("-->") + assert self.commentEndExpression.isValid() def highlightBlock(self, text): for pattern, format in self.highlightingRules: - expression = QtCore.QRegExp(pattern) - index = expression.indexIn(text) - while index >= 0: - length = expression.matchedLength() + match = pattern.match(text) + while match.hasMatch(): + index = match.capturedStart() + length = match.capturedLength(0) self.setFormat(index, length, format) - index = expression.indexIn(text, index + length) + match = pattern.match(text, index + length) self.setCurrentBlockState(0) startIndex = 0 if self.previousBlockState() != 1: - startIndex = self.commentStartExpression.indexIn(text) + match = self.commentStartExpression.match(text) + startIndex = match.capturedStart(0) if match.hasMatch() else -1 while startIndex >= 0: - endIndex = self.commentEndExpression.indexIn(text, startIndex) - if endIndex == -1: + match = self.commentEndExpression.match(text, startIndex) + endIndex = match.capturedStart(0) if match.hasMatch() else -1 + if match.hasMatch(): + endIndex = match.capturedStart(0) + length = match.capturedLength(0) + commentLength = endIndex - startIndex + length + else: self.setCurrentBlockState(1) commentLength = text.length() - startIndex - else: - commentLength = endIndex - startIndex + self.commentEndExpression.matchedLength() self.setFormat(startIndex, commentLength, self.commentFormat) - startIndex = self.commentStartExpression.indexIn(text, - startIndex + commentLength) + match = self.commentStartExpression.match(text, startIndex + commentLength) + startIndex = match.capturedStart(0) if match.hasMatch() else -1 class MessageHandler(QtXmlPatterns.QAbstractMessageHandler): |
