PySide6.QtGui.QRegularExpressionValidator¶
- class QRegularExpressionValidator¶
QRegularExpressionValidator
类用于根据正则表达式检查字符串。更多…概要¶
属性¶
regularExpressionᅟ
- 用于验证的正则表达式
方法¶
def
__init__()
插槽¶
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QRegularExpressionValidator
使用正则表达式(regexp)来确定输入字符串是Acceptable
、Intermediate
还是Invalid
。正则表达式可以在构造QRegularExpressionValidator
时提供,也可以在稍后提供。如果正则表达式部分匹配字符串,结果被认为是
Intermediate
。例如,“”和“A”对于正则表达式[A-Z][0-9]来说是Intermediate
(而“_”则是Invalid
)。QRegularExpressionValidator
自动将正则表达式包裹在\\A
和\\z
锚点中;换句话说,它总是尝试进行完全匹配。使用示例:
# regexp: optional '-' followed by between 1 and 3 digits def rx("-?\\d{1,3}"): validator = QRegularExpressionValidator(rx, self) edit = QLineEdit(self) edit.setValidator(validator)
下面我们展示一些验证器的示例。在实际应用中,它们通常会像上面的示例那样与一个小部件相关联。
# integers 1 to 9999 def re("[1-9]\\d{0,3}"): # the validator treats the regexp as "^[1-9]\\d{0,3}$" v = QRegularExpressionValidator(re, 0) s = QString() pos = 0 s = "0" v.validate(s, pos); # returns Invalid s = "12345" v.validate(s, pos); # returns Invalid s = "1" v.validate(s, pos); # returns Acceptable re.setPattern("\\S+") # one or more non-whitespace characters v.setRegularExpression(re) s = "myfile.txt" v.validate(s, pos); # Returns Acceptable s = "my file.txt" v.validate(s, pos); # Returns Invalid # A, B or C followed by exactly five digits followed by W, X, Y or Z re.setPattern("[A-C]\\d{5}[W-Z]") v.setRegularExpression(re) s = "a12345Z" v.validate(s, pos); # Returns Invalid s = "A12345Z" v.validate(s, pos); # Returns Acceptable s = "B12" v.validate(s, pos); # Returns Intermediate # match most 'readme' files re.setPattern("read\\S?me(\\.(txt|asc|1st))?") re.setPatternOptions(QRegularExpression.CaseInsensitiveOption) v.setRegularExpression(re) s = "readme" v.validate(s, pos); # Returns Acceptable s = "README.1ST" v.validate(s, pos); # Returns Acceptable s = "read me.txt" v.validate(s, pos); # Returns Invalid s = "readm" v.validate(s, pos); # Returns Intermediate
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property regularExpressionᅟ: QRegularExpression¶
此属性保存用于验证的正则表达式。
默认情况下,此属性包含一个具有空模式的正则表达式(因此匹配任何字符串)。
- Access functions:
构造一个带有
parent
对象的验证器,该对象接受任何字符串(包括空字符串)作为有效输入。- __init__(re[, parent=None])
- Parameters:
re –
QRegularExpression
parent –
QObject
构造一个带有
parent
对象的验证器,该对象接受所有与正则表达式re
匹配的字符串。- regularExpression()¶
- Return type:
属性
regularExpressionᅟ
的获取器。- regularExpressionChanged(re)¶
- Parameters:
re –
QRegularExpression
属性
regularExpressionᅟ
的通知信号。- setRegularExpression(re)¶
- Parameters:
re –
QRegularExpression
另请参阅
属性
regularExpressionᅟ
的设置器。