47 #if U_SHOW_CPLUSPLUS_API
49 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
328 virtual uint32_t flags()
const;
476 virtual int32_t groupNumberFromName(
const char *groupName, int32_t nameLength,
UErrorCode &status)
const;
519 int32_t destCapacity,
561 virtual int32_t split(
UText *input,
563 int32_t destCapacity,
579 static UClassID U_EXPORT2 getStaticClassID();
589 UVector64 *fCompiledPat;
594 Regex8BitSet *fSets8;
600 int32_t fMinMatchLen;
612 UVector32 *fGroupMap;
616 int32_t fInitialStringIdx;
617 int32_t fInitialStringLen;
620 Regex8BitSet *fInitialChars8;
621 UBool fNeedsAltInput;
625 friend class RegexCompile;
627 friend class RegexCImpl;
633 bool initNamedCaptureMap();
636 void dumpOp(int32_t index)
const;
639 #ifndef U_HIDE_INTERNAL_API
644 void dumpPattern()
const;
830 virtual UBool find();
897 virtual int32_t groupCount()
const;
936 virtual UText *group(int32_t groupNum,
UText *dest, int64_t &group_len,
UErrorCode &status)
const;
945 virtual int32_t start(
UErrorCode &status)
const;
954 virtual int64_t start64(
UErrorCode &status)
const;
970 virtual int32_t start(int32_t group,
UErrorCode &status)
const;
985 virtual int64_t start64(int32_t group,
UErrorCode &status)
const;
1000 virtual int32_t end(
UErrorCode &status)
const;
1015 virtual int64_t end64(
UErrorCode &status)
const;
1035 virtual int32_t end(int32_t group,
UErrorCode &status)
const;
1054 virtual int64_t end64(int32_t group,
UErrorCode &status)
const;
1180 virtual UText *inputText()
const;
1226 virtual RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex,
UErrorCode &status);
1236 virtual int32_t regionStart()
const;
1246 virtual int64_t regionStart64()
const;
1257 virtual int32_t regionEnd()
const;
1267 virtual int64_t regionEnd64()
const;
1277 virtual UBool hasTransparentBounds()
const;
1307 virtual UBool hasAnchoringBounds()
const;
1337 virtual UBool hitEnd()
const;
1348 virtual UBool requireEnd()
const;
1567 int32_t destCapacity,
1594 virtual int32_t split(
UText *input,
1596 int32_t destCapacity,
1620 virtual void setTimeLimit(int32_t limit,
UErrorCode &status);
1628 virtual int32_t getTimeLimit()
const;
1651 virtual void setStackLimit(int32_t limit,
UErrorCode &status);
1660 virtual int32_t getStackLimit()
const;
1677 const void *context,
1692 const void *&context,
1710 const void *context,
1725 const void *&context,
1728 #ifndef U_HIDE_INTERNAL_API
1734 void setTrace(
UBool state);
1742 static UClassID U_EXPORT2 getStaticClassID();
1762 friend class RegexCImpl;
1764 #ifndef U_HIDE_INTERNAL_API
1766 void resetPreserveRegion();
1775 inline void backTrack(int64_t &inputIdx, int32_t &patIdx);
1776 UBool isWordBoundary(int64_t pos);
1779 int64_t followingGCBoundary(int64_t pos,
UErrorCode &status);
1780 REStackFrame *resetStack();
1781 inline REStackFrame *StateSave(REStackFrame *fp, int64_t savePatIdx,
UErrorCode &status);
1785 inline UBool findProgressInterrupt(int64_t matchIndex,
UErrorCode &status);
1787 int64_t appendGroup(int32_t groupNum,
UText *dest,
UErrorCode &status)
const;
1791 UBool isChunkWordBoundary(int32_t pos);
1799 UText *fAltInputText;
1801 int64_t fInputLength;
1804 int64_t fRegionStart;
1805 int64_t fRegionLimit;
1807 int64_t fAnchorStart;
1808 int64_t fAnchorLimit;
1814 int64_t fActiveStart;
1815 int64_t fActiveLimit;
1819 UBool fTransparentBounds;
1820 UBool fAnchoringBounds;
1823 int64_t fMatchStart;
1827 int64_t fLastMatchEnd;
1829 int64_t fAppendPosition;
1838 REStackFrame *fFrame;
1843 int64_t fSmallData[8];
1849 int32_t fTickCounter;
1854 int32_t fStackLimit;
1859 const void *fCallbackContext;
1863 const void *fFindProgressCallbackContext;
1866 UBool fInputUniStrMaybeMutable;
1878 #endif // UCONFIG_NO_REGULAR_EXPRESSIONS
struct UHashtable UHashtable
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Class RegexPattern represents a compiled regular expression.
UBool URegexFindProgressCallback(const void *context, int64_t matchIndex)
Function pointer for a regular expression find callback function.
C API: Abstract Unicode Text API.
class RegexMatcher bundles together a regular expression pattern and input text to which the expressi...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
C API: Regular Expressions.
The BreakIterator class implements methods for finding the location of boundaries in text...
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
A mutable set of Unicode characters and multicharacter strings.
C++ API: Common ICU base class UObject.
UBool URegexMatchCallback(const void *context, int32_t steps)
Function pointer for a regular expression matching callback function.
C API: Parse Error Information.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
UBool operator!=(const RegexPattern &that) const
Comparison operator.
#define U_FINAL
Defined to the C++11 "final" keyword if available.
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UObject is the common ICU "boilerplate" class.
int8_t UBool
The ICU boolean type, a signed-byte integer.