Advertisement
Guest User

Untitled

a guest
Dec 15th, 2011
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.19 KB | None | 0 0
  1. class Q_CORE_EXPORT QRegularExpression
  2. {
  3. public:
  4.     QRegularExpression();
  5.     explicit QRegularExpression(const QString &pattern);
  6.     QRegularExpression(const QRegularExpression &re);
  7.     ~QRegularExpression();
  8.     QRegularExpression &operator=(const QRegularExpression &re);
  9.    
  10. #ifdef Q_COMPILER_RVALUE_REFS
  11.     inline QRegularExpression &operator=(QRegularExpression &&other)
  12.     { d.swap(other.d); return *this; }
  13. #endif
  14.  
  15.     inline void swap(QRegularExpression &other) { d.swap(other.d); }
  16.  
  17.     QString pattern() const;
  18.     void setPattern(const QString &pattern);
  19.  
  20.     enum PatternOption {
  21.         CaseInsensitiveOption          = 0x0001,
  22.         InvertedGreedinessOption       = 0x0002,
  23.         DotMatchesEverythingOption     = 0x0004,
  24.         MultilineMatchOption           = 0x0008,
  25.         ExtendedPatternSyntaxOption    = 0x0010,
  26.         UseUnicodePropertiesOption     = 0x0020,
  27.         AllowDuplicatedNamesOption     = 0x0040,
  28.         DontCaptureOption              = 0x0080,
  29.         MatchFirstlineOnlyOption       = 0x0100,
  30.         DollarMatchesOnlyAtEndOption   = 0x0200
  31.     };
  32.     Q_DECLARE_FLAGS(PatternOptions, PatternOption)
  33.  
  34.     bool testPatternOption(PatternOption option) const;
  35.     PatternOptions patternOptions() const;
  36.     void setPatternOption(PatternOption option, bool on = true);
  37.     void setPatternOptions(PatternOptions options, bool on = true);
  38.  
  39.     enum CompileHint {
  40.         StudyPatternCompileHint = 0x0001,
  41.         JitCompileHint          = 0x0002
  42.     };
  43.     Q_DECLARE_FLAGS(CompileHints, CompileHint)
  44.  
  45.     bool testCompileHint(CompileHint hint) const;
  46.     CompileHints compileHints() const;
  47.     void setCompileHint(CompileHint hint, bool on = true);
  48.     void setCompileHints(CompileHints hints, bool on = true);
  49.  
  50.     enum MatchOption {
  51.         AnchoredMatch        = 0x0001,
  52.         NonEmptyMatch        = 0x0002,
  53.         NonEmptyAtStartMatch = 0x0004
  54.     };
  55.     Q_DECLARE_FLAGS(MatchOptions, MatchOption)
  56.  
  57.     bool isValid() const;
  58.     int patternErrorOffset() const;
  59.     QString errorString() const;
  60.  
  61.     QRegularExpressionMatch match(const QString &subject, int offset = 0, MatchOptions options = 0) const;
  62.     QRegularExpressionMatch partialMatch(const QString &subject,
  63.                                          bool preferCompleteMatch,
  64.                                          int offset = 0,
  65.                                          MatchOptions options = 0) const;
  66.     QRegularExpressionMatch exactMatch(const QString &subject) const;
  67.     QRegularExpressionMatch lastMatch(const QString &subject) const;
  68.  
  69.     static QString escape(const QString &str);
  70.  
  71.     bool operator==(const QRegularExpression &re) const;
  72.     bool operator!=(const QRegularExpression &re) const;
  73. };
  74.  
  75. class Q_CORE_EXPORT QRegularExpressionMatch
  76. {
  77. public:
  78.     QRegularExpressionMatch();
  79.     ~QRegularExpressionMatch();
  80.     QRegularExpressionMatch(const QRegularExpressionMatch &match);
  81.     QRegularExpressionMatch &operator=(const QRegularExpressionMatch &match);
  82.  
  83. #ifdef Q_COMPILER_RVALUE_REFS
  84.     inline QRegularExpressionMatch &operator=(QRegularExpressionMatch &&other)
  85.     { d.swap(other.d); return *this; }
  86. #endif
  87.     inline void swap(QRegularExpressionMatch &other) { d.swap(other.d); }
  88.  
  89.     QRegularExpression regularExpression() const;
  90.     QString subject() const;
  91.  
  92.     int capturedTextsCount() const;
  93.  
  94.     QString cap(int nth = 0) const;
  95.     QStringRef capRef(int nth = 0) const;
  96.  
  97.     QString cap(const QString &name) const;
  98.     QStringRef capRef(const QString &name) const;
  99.  
  100.     QStringList capturedTexts() const;
  101.     QStringList capturedTextsForName(const QString &name) const;
  102.  
  103.     int pos(int nth = 0) const;
  104.     int matchedLength(int nth = 0) const;
  105.     int endPos(int nth = 0) const;
  106.  
  107.     int pos(const QString &name) const;
  108.     int matchedLength(const QString &name) const;
  109.     int endPos(const QString &name) const;
  110.  
  111.     bool hasMatch() const;
  112.     bool hasPartialMatch() const;
  113.  
  114.     bool isValid() const;
  115.  
  116.     void nextMatch();
  117.     QRegularExpressionMatch &operator++();
  118.     QRegularExpressionMatch operator++(int);
  119.  
  120.     void previousMatch();
  121.     QRegularExpressionMatch &operator--();
  122.     QRegularExpressionMatch operator--(int);
  123. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement