47 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
65 class RuleBasedBreakIterator;
71 #ifndef U_HIDE_INTERNAL_API
80 #undef RegexPatternDump
81 #define RegexPatternDump(pat)
339 virtual uint32_t flags()
const;
496 int32_t destCapacity,
538 virtual int32_t split(
UText *input,
540 int32_t destCapacity,
556 static UClassID U_EXPORT2 getStaticClassID();
566 UVector64 *fCompiledPat;
571 Regex8BitSet *fSets8;
577 int32_t fMinMatchLen;
589 UVector32 *fGroupMap;
592 int32_t fMaxCaptureDigits;
597 Regex8BitSet *fStaticSets8;
601 int32_t fInitialStringIdx;
602 int32_t fInitialStringLen;
605 Regex8BitSet *fInitialChars8;
606 UBool fNeedsAltInput;
608 friend class RegexCompile;
610 friend class RegexCImpl;
618 void dumpOp(int32_t index)
const;
812 virtual UBool find();
859 virtual int32_t groupCount()
const;
893 virtual UText *group(int32_t groupNum,
UText *dest, int64_t &group_len,
UErrorCode &status)
const;
920 virtual int32_t start(
UErrorCode &status)
const;
929 virtual int64_t start64(
UErrorCode &status)
const;
945 virtual int32_t start(int32_t group,
UErrorCode &status)
const;
960 virtual int64_t start64(int32_t group,
UErrorCode &status)
const;
976 virtual int32_t end(
UErrorCode &status)
const;
991 virtual int64_t end64(
UErrorCode &status)
const;
1011 virtual int32_t end(int32_t group,
UErrorCode &status)
const;
1030 virtual int64_t end64(int32_t group,
UErrorCode &status)
const;
1158 virtual UText *inputText()
const;
1204 virtual RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex,
UErrorCode &status);
1214 virtual int32_t regionStart()
const;
1224 virtual int64_t regionStart64()
const;
1235 virtual int32_t regionEnd()
const;
1245 virtual int64_t regionEnd64()
const;
1255 virtual UBool hasTransparentBounds()
const;
1285 virtual UBool hasAnchoringBounds()
const;
1315 virtual UBool hitEnd()
const;
1326 virtual UBool requireEnd()
const;
1545 int32_t destCapacity,
1572 virtual int32_t split(
UText *input,
1574 int32_t destCapacity,
1598 virtual void setTimeLimit(int32_t limit,
UErrorCode &status);
1606 virtual int32_t getTimeLimit()
const;
1629 virtual void setStackLimit(int32_t limit,
UErrorCode &status);
1638 virtual int32_t getStackLimit()
const;
1655 const void *context,
1670 const void *&context,
1688 const void *context,
1703 const void *&context,
1706 #ifndef U_HIDE_INTERNAL_API
1712 void setTrace(
UBool state);
1720 static UClassID U_EXPORT2 getStaticClassID();
1740 friend class RegexCImpl;
1742 #ifndef U_HIDE_INTERNAL_API
1744 void resetPreserveRegion();
1753 inline void backTrack(int64_t &inputIdx, int32_t &patIdx);
1754 UBool isWordBoundary(int64_t pos);
1755 UBool isUWordBoundary(int64_t pos);
1756 REStackFrame *resetStack();
1757 inline REStackFrame *StateSave(REStackFrame *fp, int64_t savePatIdx,
UErrorCode &status);
1761 int64_t appendGroup(int32_t groupNum,
UText *dest,
UErrorCode &status)
const;
1763 UBool findUsingChunk();
1765 UBool isChunkWordBoundary(int32_t pos);
1773 UText *fAltInputText;
1775 int64_t fInputLength;
1778 int64_t fRegionStart;
1779 int64_t fRegionLimit;
1781 int64_t fAnchorStart;
1782 int64_t fAnchorLimit;
1788 int64_t fActiveStart;
1789 int64_t fActiveLimit;
1793 UBool fTransparentBounds;
1794 UBool fAnchoringBounds;
1797 int64_t fMatchStart;
1801 int64_t fLastMatchEnd;
1803 int64_t fAppendPosition;
1812 REStackFrame *fFrame;
1817 int64_t fSmallData[8];
1823 int32_t fTickCounter;
1828 int32_t fStackLimit;
1833 const void *fCallbackContext;
1837 const void *fFindProgressCallbackContext;
1840 UBool fInputUniStrMaybeMutable;
1851 #endif // UCONFIG_NO_REGULAR_EXPRESSIONS