class_regex.rst 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_RegEx:
  4. RegEx
  5. =====
  6. **Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
  7. **Category:** Core
  8. Brief Description
  9. -----------------
  10. Simple regular expression matcher.
  11. Member Functions
  12. ----------------
  13. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  14. | :ref:`int<class_int>` | :ref:`compile<class_RegEx_compile>` **(** :ref:`String<class_string>` pattern, :ref:`int<class_int>` capture=9 **)** |
  15. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  16. | :ref:`int<class_int>` | :ref:`find<class_RegEx_find>` **(** :ref:`String<class_string>` text, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1 **)** const |
  17. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | void | :ref:`clear<class_RegEx_clear>` **(** **)** |
  19. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`bool<class_bool>` | :ref:`is_valid<class_RegEx_is_valid>` **(** **)** const |
  21. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | :ref:`int<class_int>` | :ref:`get_capture_count<class_RegEx_get_capture_count>` **(** **)** const |
  23. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | :ref:`String<class_string>` | :ref:`get_capture<class_RegEx_get_capture>` **(** :ref:`int<class_int>` capture **)** const |
  25. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | :ref:`int<class_int>` | :ref:`get_capture_start<class_RegEx_get_capture_start>` **(** :ref:`int<class_int>` capture **)** const |
  27. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`StringArray<class_stringarray>` | :ref:`get_captures<class_RegEx_get_captures>` **(** **)** const |
  29. +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
  30. Description
  31. -----------
  32. Class for finding text patterns in a string using regular expressions. Regular expressions are a way to define patterns of text to be searched.
  33. This class only finds patterns in a string. It can not perform replacements.
  34. Usage of regular expressions is too long to be explained here, but Internet is full of tutorials and detailed explanations.
  35. Currently supported features:
  36. Capturing ``()`` and non-capturing ``(?:)`` groups
  37. Any character ``.``
  38. Shorthand character classes ``\w \W \s \S \d \D``
  39. User-defined character classes such as ``:ref:`A-Za-z<class_a-za-z>```
  40. Simple quantifiers ``?``, ``\*`` and ``+``
  41. Range quantifiers ``{x,y}``
  42. Lazy (non-greedy) quantifiers ``\*?``
  43. Beginning ``^`` and end ``$`` anchors
  44. Alternation ``|``
  45. Backreferences ``\1`` and ``\g{1}``
  46. POSIX character classes ``:ref:`[:alnum:<class_[:alnum:>`]``
  47. Lookahead ``(?=)``, ``(?!)`` and lookbehind ``(?<=)``, ``(?<!)``
  48. ASCII ``\xFF`` and Unicode ``\uFFFF`` code points (in a style similar to Python)
  49. Word boundaries ``\b``, ``\B``
  50. Member Function Description
  51. ---------------------------
  52. .. _class_RegEx_compile:
  53. - :ref:`int<class_int>` **compile** **(** :ref:`String<class_string>` pattern, :ref:`int<class_int>` capture=9 **)**
  54. Compiles and assign the regular expression pattern to use. The limit on the number of capturing groups can be specified or made unlimited if negative.
  55. .. _class_RegEx_find:
  56. - :ref:`int<class_int>` **find** **(** :ref:`String<class_string>` text, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1 **)** const
  57. This method tries to find the pattern within the string, and returns the position where it was found. It also stores any capturing group (see :ref:`get_capture<class_RegEx_get_capture>`) for further retrieval.
  58. .. _class_RegEx_clear:
  59. - void **clear** **(** **)**
  60. This method resets the state of the object, as it was freshly created. Namely, it unassigns the regular expression of this object, and forgets all captures made by the last :ref:`find<class_RegEx_find>`.
  61. .. _class_RegEx_is_valid:
  62. - :ref:`bool<class_bool>` **is_valid** **(** **)** const
  63. Returns whether this object has a valid regular expression assigned.
  64. .. _class_RegEx_get_capture_count:
  65. - :ref:`int<class_int>` **get_capture_count** **(** **)** const
  66. Returns the number of capturing groups. A captured group is the part of a string that matches a part of the pattern delimited by parentheses (unless they are non-capturing parentheses *(?:)*).
  67. .. _class_RegEx_get_capture:
  68. - :ref:`String<class_string>` **get_capture** **(** :ref:`int<class_int>` capture **)** const
  69. Returns a captured group. A captured group is the part of a string that matches a part of the pattern delimited by parentheses (unless they are non-capturing parentheses *(?:)*).
  70. .. _class_RegEx_get_capture_start:
  71. - :ref:`int<class_int>` **get_capture_start** **(** :ref:`int<class_int>` capture **)** const
  72. .. _class_RegEx_get_captures:
  73. - :ref:`StringArray<class_stringarray>` **get_captures** **(** **)** const
  74. Return a list of all the captures made by the regular expression.