<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qregularexpression.cpp -->
  <title>QRegularExpressionMatch Class | Qt Core 5.11</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.11</a></td><td ><a href="qtcore-index.html">Qt Core</a></td><td ><a href="qtcore-module.html">C++ Classes</a></td><td >QRegularExpressionMatch</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.11.2 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#related-non-members">Related Non-Members</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QRegularExpressionMatch Class</h1>
<!-- $$$QRegularExpressionMatch-brief -->
<p>The <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> class provides the results of a matching a <a href="qregularexpression.html">QRegularExpression</a> against a string. <a href="#details">More...</a></p>
<!-- @@@QRegularExpressionMatch -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QRegularExpressionMatch&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += core</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign">  Qt 5.0</td></tr></table></div><ul>
<li><a href="qregularexpressionmatch-members.html">List of all members, including inherited members</a></li>
</ul>
<p><b>Note:</b> All functions in this class are <a href="../qtdoc/threads-reentrancy.html">reentrant</a>.</p>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#QRegularExpressionMatch-1">QRegularExpressionMatch</a></b>(const QRegularExpressionMatch &amp;<i>match</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#dtor.QRegularExpressionMatch">~QRegularExpressionMatch</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#captured">captured</a></b>(int <i>nth</i> = 0) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#captured-1">captured</a></b>(const QString &amp;<i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#captured-2">captured</a></b>(QStringView <i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a></b>(int <i>nth</i> = 0) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedEnd-1">capturedEnd</a></b>(const QString &amp;<i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedEnd-2">capturedEnd</a></b>(QStringView <i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedLength">capturedLength</a></b>(int <i>nth</i> = 0) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedLength-1">capturedLength</a></b>(const QString &amp;<i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedLength-2">capturedLength</a></b>(QStringView <i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringRef </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedRef">capturedRef</a></b>(int <i>nth</i> = 0) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringRef </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedRef-1">capturedRef</a></b>(const QString &amp;<i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringRef </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedRef-2">capturedRef</a></b>(QStringView <i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a></b>(int <i>nth</i> = 0) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedStart-1">capturedStart</a></b>(const QString &amp;<i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedStart-2">capturedStart</a></b>(QStringView <i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedTexts">capturedTexts</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringView </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedView">capturedView</a></b>(int <i>nth</i> = 0) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringView </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#capturedView-1">capturedView</a></b>(QStringView <i>name</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#hasMatch">hasMatch</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#hasPartialMatch">hasPartialMatch</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#isValid">isValid</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#lastCapturedIndex">lastCapturedIndex</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRegularExpression::MatchOptions </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#matchOptions">matchOptions</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRegularExpression::MatchType </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#matchType">matchType</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRegularExpression </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#regularExpression">regularExpression</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#swap">swap</a></b>(QRegularExpressionMatch &amp;<i>other</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRegularExpressionMatch &amp;</td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#operator-eq">operator=</a></b>(const QRegularExpressionMatch &amp;<i>match</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRegularExpressionMatch &amp;</td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#operator-eq-1">operator=</a></b>(QRegularExpressionMatch &amp;&amp;<i>match</i>)</td></tr>
</table></div>
<a name="related-non-members"></a>
<h2 id="related-non-members">Related Non-Members</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> QDebug </td><td class="memItemRight bottomAlign"><b><a href="qregularexpressionmatch.html#operator-lt-lt">operator&lt;&lt;</a></b>(QDebug <i>debug</i>, const QRegularExpressionMatch &amp;<i>match</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$QRegularExpressionMatch-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>The <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> class provides the results of a matching a <a href="qregularexpression.html">QRegularExpression</a> against a string.</p>
<p>A <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> object can be obtained by calling the <a href="qregularexpression.html#match">QRegularExpression::match</a>() function, or as a single result of a global match from a <a href="qregularexpressionmatchiterator.html">QRegularExpressionMatchIterator</a>.</p>
<p>The success or the failure of a match attempt can be inspected by calling the <a href="qregularexpressionmatch.html#hasMatch">hasMatch</a>() function. <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> also reports a successful partial match through the <a href="qregularexpressionmatch.html#hasPartialMatch">hasPartialMatch</a>() function.</p>
<p>In addition, <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> returns the substrings captured by the capturing groups in the pattern string. The implicit capturing group with index 0 captures the result of the whole match. The <a href="qregularexpressionmatch.html#captured">captured</a>() function returns each substring captured, either by the capturing group's index or by its name:</p>
<pre class="cpp">

  <span class="type"><a href="qregularexpression.html">QRegularExpression</a></span> re(<span class="string">&quot;(\\d\\d) (?&lt;name&gt;\\w+)&quot;</span>);
  <span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> match <span class="operator">=</span> re<span class="operator">.</span>match(<span class="string">&quot;23 Jordan&quot;</span>);
  <span class="keyword">if</span> (match<span class="operator">.</span>hasMatch()) {
      <span class="type"><a href="qstring.html">QString</a></span> number <span class="operator">=</span> match<span class="operator">.</span>captured(<span class="number">1</span>); <span class="comment">// first == &quot;23&quot;</span>
      <span class="type"><a href="qstring.html">QString</a></span> name <span class="operator">=</span> match<span class="operator">.</span>captured(<span class="string">&quot;name&quot;</span>); <span class="comment">// name == &quot;Jordan&quot;</span>
  }

</pre>
<p>For each captured substring it is possible to query its starting and ending offsets in the subject string by calling the <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>() and the <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>() function, respectively. The length of each captured substring is available using the <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>() function.</p>
<p>The convenience function <a href="qregularexpressionmatch.html#capturedTexts">capturedTexts</a>() will return <i>all</i> the captured substrings at once (including the substring matched by the entire pattern) in the order they have been captured by captring groups; that is, <code>captured(i) == capturedTexts().at(i)</code>.</p>
<p>You can retrieve the <a href="qregularexpression.html">QRegularExpression</a> object the subject string was matched against by calling the <a href="qregularexpressionmatch.html#regularExpression">regularExpression</a>() function; the match type and the match options are available as well by calling the <a href="qregularexpressionmatch.html#matchType">matchType</a>() and the <a href="qregularexpressionmatch.html#matchOptions">matchOptions</a>() respectively.</p>
<p>Please refer to the <a href="qregularexpression.html">QRegularExpression</a> documentation for more information about the Qt regular expression classes.</p>
</div>
<p><b>See also </b><a href="qregularexpression.html">QRegularExpression</a>.</p>
<!-- @@@QRegularExpressionMatch -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QRegularExpressionMatch[overload1]$$$QRegularExpressionMatch -->
<h3 class="fn" id="QRegularExpressionMatch"><a name="QRegularExpressionMatch"></a>QRegularExpressionMatch::<span class="name">QRegularExpressionMatch</span>()</h3>
<p>Constructs a valid, empty <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> object. The regular expression is set to a default-constructed one; the match type to <a href="qregularexpression.html#MatchType-enum">QRegularExpression::NoMatch</a> and the match options to <a href="qregularexpression.html#MatchOption-enum">QRegularExpression::NoMatchOption</a>.</p>
<p>The object will report no match through the <a href="qregularexpressionmatch.html#hasMatch">hasMatch</a>() and the <a href="qregularexpressionmatch.html#hasPartialMatch">hasPartialMatch</a>() member functions.</p>
<p>This function was introduced in  Qt 5.1.</p>
<!-- @@@QRegularExpressionMatch -->
<!-- $$$QRegularExpressionMatch$$$QRegularExpressionMatchconstQRegularExpressionMatch& -->
<h3 class="fn" id="QRegularExpressionMatch-1"><a name="QRegularExpressionMatch-1"></a>QRegularExpressionMatch::<span class="name">QRegularExpressionMatch</span>(const <span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;<i>match</i>)</h3>
<p>Constructs a match result by copying the result of the given <i>match</i>.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#operator-eq">operator=</a>().</p>
<!-- @@@QRegularExpressionMatch -->
<!-- $$$~QRegularExpressionMatch[overload1]$$$~QRegularExpressionMatch -->
<h3 class="fn" id="dtor.QRegularExpressionMatch"><a name="dtor.QRegularExpressionMatch"></a>QRegularExpressionMatch::<span class="name">~QRegularExpressionMatch</span>()</h3>
<p>Destroys the match result.</p>
<!-- @@@~QRegularExpressionMatch -->
<!-- $$$captured[overload1]$$$capturedint -->
<h3 class="fn" id="captured"><a name="captured"></a><span class="type"><a href="qstring.html">QString</a></span> QRegularExpressionMatch::<span class="name">captured</span>(<span class="type">int</span> <i>nth</i> = 0) const</h3>
<p>Returns the substring captured by the <i>nth</i> capturing group.</p>
<p>If the <i>nth</i> capturing group did not capture a string, or if there is no such capturing group, returns a null <a href="qstring.html">QString</a>.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedRef">capturedRef</a>(), <a href="qregularexpressionmatch.html#capturedView">capturedView</a>(), <a href="qregularexpressionmatch.html#lastCapturedIndex">lastCapturedIndex</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstring.html#isNull">QString::isNull</a>().</p>
<!-- @@@captured -->
<!-- $$$captured$$$capturedconstQString& -->
<h3 class="fn" id="captured-1"><a name="captured-1"></a><span class="type"><a href="qstring.html">QString</a></span> QRegularExpressionMatch::<span class="name">captured</span>(const <span class="type"><a href="qstring.html">QString</a></span> &amp;<i>name</i>) const</h3>
<p>Returns the substring captured by the capturing group named <i>name</i>.</p>
<p>If the named capturing group <i>name</i> did not capture a string, or if there is no capturing group named <i>name</i>, returns a null <a href="qstring.html">QString</a>.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedRef">capturedRef</a>(), <a href="qregularexpressionmatch.html#capturedView">capturedView</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstring.html#isNull">QString::isNull</a>().</p>
<!-- @@@captured -->
<!-- $$$captured$$$capturedQStringView -->
<h3 class="fn" id="captured-2"><a name="captured-2"></a><span class="type"><a href="qstring.html">QString</a></span> QRegularExpressionMatch::<span class="name">captured</span>(<span class="type"><a href="qstringview.html">QStringView</a></span> <i>name</i>) const</h3>
<p>Returns the substring captured by the capturing group named <i>name</i>.</p>
<p>If the named capturing group <i>name</i> did not capture a string, or if there is no capturing group named <i>name</i>, returns a null <a href="qstring.html">QString</a>.</p>
<p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedRef">capturedRef</a>(), <a href="qregularexpressionmatch.html#capturedView">capturedView</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstring.html#isNull">QString::isNull</a>().</p>
<!-- @@@captured -->
<!-- $$$capturedEnd[overload1]$$$capturedEndint -->
<h3 class="fn" id="capturedEnd"><a name="capturedEnd"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedEnd</span>(<span class="type">int</span> <i>nth</i> = 0) const</h3>
<p>Returns the offset inside the subject string immediately after the ending position of the substring captured by the <i>nth</i> capturing group. If the <i>nth</i> capturing group did not capture a string or doesn't exist, returns -1.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedEnd -->
<!-- $$$capturedEnd$$$capturedEndconstQString& -->
<h3 class="fn" id="capturedEnd-1"><a name="capturedEnd-1"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedEnd</span>(const <span class="type"><a href="qstring.html">QString</a></span> &amp;<i>name</i>) const</h3>
<p>Returns the offset inside the subject string immediately after the ending position of the substring captured by the capturing group named <i>name</i>. If the capturing group named <i>name</i> did not capture a string or doesn't exist, returns -1.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedEnd -->
<!-- $$$capturedEnd$$$capturedEndQStringView -->
<h3 class="fn" id="capturedEnd-2"><a name="capturedEnd-2"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedEnd</span>(<span class="type"><a href="qstringview.html">QStringView</a></span> <i>name</i>) const</h3>
<p>Returns the offset inside the subject string immediately after the ending position of the substring captured by the capturing group named <i>name</i>. If the capturing group named <i>name</i> did not capture a string or doesn't exist, returns -1.</p>
<p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedEnd -->
<!-- $$$capturedLength[overload1]$$$capturedLengthint -->
<h3 class="fn" id="capturedLength"><a name="capturedLength"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedLength</span>(<span class="type">int</span> <i>nth</i> = 0) const</h3>
<p>Returns the length of the substring captured by the <i>nth</i> capturing group.</p>
<p><b>Note: </b>This function returns 0 if the <i>nth</i> capturing group did not capture a string or doesn't exist.</p><p><b>See also </b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedLength -->
<!-- $$$capturedLength$$$capturedLengthconstQString& -->
<h3 class="fn" id="capturedLength-1"><a name="capturedLength-1"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedLength</span>(const <span class="type"><a href="qstring.html">QString</a></span> &amp;<i>name</i>) const</h3>
<p>Returns the length of the substring captured by the capturing group named <i>name</i>.</p>
<p><b>Note: </b>This function returns 0 if the capturing group named <i>name</i> did not capture a string or doesn't exist.</p><p><b>See also </b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedLength -->
<!-- $$$capturedLength$$$capturedLengthQStringView -->
<h3 class="fn" id="capturedLength-2"><a name="capturedLength-2"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedLength</span>(<span class="type"><a href="qstringview.html">QStringView</a></span> <i>name</i>) const</h3>
<p>Returns the length of the substring captured by the capturing group named <i>name</i>.</p>
<p><b>Note: </b>This function returns 0 if the capturing group named <i>name</i> did not capture a string or doesn't exist.</p><p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedLength -->
<!-- $$$capturedRef[overload1]$$$capturedRefint -->
<h3 class="fn" id="capturedRef"><a name="capturedRef"></a><span class="type"><a href="qstringref.html">QStringRef</a></span> QRegularExpressionMatch::<span class="name">capturedRef</span>(<span class="type">int</span> <i>nth</i> = 0) const</h3>
<p>Returns a reference to the substring captured by the <i>nth</i> capturing group.</p>
<p>If the <i>nth</i> capturing group did not capture a string, or if there is no such capturing group, returns a null <a href="qstringref.html">QStringRef</a>.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#captured">captured</a>(), <a href="qregularexpressionmatch.html#capturedView">capturedView</a>(), <a href="qregularexpressionmatch.html#lastCapturedIndex">lastCapturedIndex</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstringref.html#isNull">QStringRef::isNull</a>().</p>
<!-- @@@capturedRef -->
<!-- $$$capturedRef$$$capturedRefconstQString& -->
<h3 class="fn" id="capturedRef-1"><a name="capturedRef-1"></a><span class="type"><a href="qstringref.html">QStringRef</a></span> QRegularExpressionMatch::<span class="name">capturedRef</span>(const <span class="type"><a href="qstring.html">QString</a></span> &amp;<i>name</i>) const</h3>
<p>Returns a reference to the string captured by the capturing group named <i>name</i>.</p>
<p>If the named capturing group <i>name</i> did not capture a string, or if there is no capturing group named <i>name</i>, returns a null <a href="qstringref.html">QStringRef</a>.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#captured">captured</a>(), <a href="qregularexpressionmatch.html#capturedView">capturedView</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstringref.html#isNull">QStringRef::isNull</a>().</p>
<!-- @@@capturedRef -->
<!-- $$$capturedRef$$$capturedRefQStringView -->
<h3 class="fn" id="capturedRef-2"><a name="capturedRef-2"></a><span class="type"><a href="qstringref.html">QStringRef</a></span> QRegularExpressionMatch::<span class="name">capturedRef</span>(<span class="type"><a href="qstringview.html">QStringView</a></span> <i>name</i>) const</h3>
<p>Returns a reference to the string captured by the capturing group named <i>name</i>.</p>
<p>If the named capturing group <i>name</i> did not capture a string, or if there is no capturing group named <i>name</i>, returns a null <a href="qstringref.html">QStringRef</a>.</p>
<p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#captured">captured</a>(), <a href="qregularexpressionmatch.html#capturedView">capturedView</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstringref.html#isNull">QStringRef::isNull</a>().</p>
<!-- @@@capturedRef -->
<!-- $$$capturedStart[overload1]$$$capturedStartint -->
<h3 class="fn" id="capturedStart"><a name="capturedStart"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedStart</span>(<span class="type">int</span> <i>nth</i> = 0) const</h3>
<p>Returns the offset inside the subject string corresponding to the starting position of the substring captured by the <i>nth</i> capturing group. If the <i>nth</i> capturing group did not capture a string or doesn't exist, returns -1.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedStart -->
<!-- $$$capturedStart$$$capturedStartconstQString& -->
<h3 class="fn" id="capturedStart-1"><a name="capturedStart-1"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedStart</span>(const <span class="type"><a href="qstring.html">QString</a></span> &amp;<i>name</i>) const</h3>
<p>Returns the offset inside the subject string corresponding to the starting position of the substring captured by the capturing group named <i>name</i>. If the capturing group named <i>name</i> did not capture a string or doesn't exist, returns -1.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedStart -->
<!-- $$$capturedStart$$$capturedStartQStringView -->
<h3 class="fn" id="capturedStart-2"><a name="capturedStart-2"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">capturedStart</span>(<span class="type"><a href="qstringview.html">QStringView</a></span> <i>name</i>) const</h3>
<p>Returns the offset inside the subject string corresponding to the starting position of the substring captured by the capturing group named <i>name</i>. If the capturing group named <i>name</i> did not capture a string or doesn't exist, returns -1.</p>
<p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qregularexpressionmatch.html#captured">captured</a>().</p>
<!-- @@@capturedStart -->
<!-- $$$capturedTexts[overload1]$$$capturedTexts -->
<h3 class="fn" id="capturedTexts"><a name="capturedTexts"></a><span class="type"><a href="qstringlist.html">QStringList</a></span> QRegularExpressionMatch::<span class="name">capturedTexts</span>() const</h3>
<p>Returns a list of all strings captured by capturing groups, in the order the groups themselves appear in the pattern string.</p>
<!-- @@@capturedTexts -->
<!-- $$$capturedView[overload1]$$$capturedViewint -->
<h3 class="fn" id="capturedView"><a name="capturedView"></a><span class="type"><a href="qstringview.html">QStringView</a></span> QRegularExpressionMatch::<span class="name">capturedView</span>(<span class="type">int</span> <i>nth</i> = 0) const</h3>
<p>Returns a view of the substring captured by the <i>nth</i> capturing group.</p>
<p>If the <i>nth</i> capturing group did not capture a string, or if there is no such capturing group, returns a null <a href="qstringview.html">QStringView</a>.</p>
<p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#captured">captured</a>(), <a href="qregularexpressionmatch.html#capturedRef">capturedRef</a>(), <a href="qregularexpressionmatch.html#lastCapturedIndex">lastCapturedIndex</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstringview.html#isNull">QStringView::isNull</a>().</p>
<!-- @@@capturedView -->
<!-- $$$capturedView$$$capturedViewQStringView -->
<h3 class="fn" id="capturedView-1"><a name="capturedView-1"></a><span class="type"><a href="qstringview.html">QStringView</a></span> QRegularExpressionMatch::<span class="name">capturedView</span>(<span class="type"><a href="qstringview.html">QStringView</a></span> <i>name</i>) const</h3>
<p>Returns a view of the string captured by the capturing group named <i>name</i>.</p>
<p>If the named capturing group <i>name</i> did not capture a string, or if there is no capturing group named <i>name</i>, returns a null <a href="qstringview.html">QStringView</a>.</p>
<p>This function was introduced in  Qt 5.10.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#captured">captured</a>(), <a href="qregularexpressionmatch.html#capturedRef">capturedRef</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>(), and <a href="qstringref.html#isNull">QStringRef::isNull</a>().</p>
<!-- @@@capturedView -->
<!-- $$$hasMatch[overload1]$$$hasMatch -->
<h3 class="fn" id="hasMatch"><a name="hasMatch"></a><span class="type">bool</span> QRegularExpressionMatch::<span class="name">hasMatch</span>() const</h3>
<p>Returns <code>true</code> if the regular expression matched against the subject string, or false otherwise.</p>
<p><b>See also </b><a href="qregularexpression.html#match">QRegularExpression::match</a>() and <a href="qregularexpressionmatch.html#hasPartialMatch">hasPartialMatch</a>().</p>
<!-- @@@hasMatch -->
<!-- $$$hasPartialMatch[overload1]$$$hasPartialMatch -->
<h3 class="fn" id="hasPartialMatch"><a name="hasPartialMatch"></a><span class="type">bool</span> QRegularExpressionMatch::<span class="name">hasPartialMatch</span>() const</h3>
<p>Returns <code>true</code> if the regular expression partially matched against the subject string, or false otherwise.</p>
<p><b>Note: </b>Only a match that explicitly used the one of the partial match types can yield a partial match. Still, if such a match succeeds totally, this function will return false, while <a href="qregularexpressionmatch.html#hasMatch">hasMatch</a>() will return true.</p><p><b>See also </b><a href="qregularexpression.html#match">QRegularExpression::match</a>(), <a href="qregularexpression.html#MatchType-enum">QRegularExpression::MatchType</a>, and <a href="qregularexpressionmatch.html#hasMatch">hasMatch</a>().</p>
<!-- @@@hasPartialMatch -->
<!-- $$$isValid[overload1]$$$isValid -->
<h3 class="fn" id="isValid"><a name="isValid"></a><span class="type">bool</span> QRegularExpressionMatch::<span class="name">isValid</span>() const</h3>
<p>Returns <code>true</code> if the match object was obtained as a result from the <a href="qregularexpression.html#match">QRegularExpression::match</a>() function invoked on a valid <a href="qregularexpression.html">QRegularExpression</a> object; returns <code>false</code> if the <a href="qregularexpression.html">QRegularExpression</a> was invalid.</p>
<p><b>See also </b><a href="qregularexpression.html#match">QRegularExpression::match</a>() and <a href="qregularexpression.html#isValid">QRegularExpression::isValid</a>().</p>
<!-- @@@isValid -->
<!-- $$$lastCapturedIndex[overload1]$$$lastCapturedIndex -->
<h3 class="fn" id="lastCapturedIndex"><a name="lastCapturedIndex"></a><span class="type">int</span> QRegularExpressionMatch::<span class="name">lastCapturedIndex</span>() const</h3>
<p>Returns the index of the last capturing group that captured something, including the implicit capturing group 0. This can be used to extract all the substrings that were captured:</p>
<pre class="cpp">

  <span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> match <span class="operator">=</span> re<span class="operator">.</span>match(string);
  <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span><span class="operator">=</span> match<span class="operator">.</span>lastCapturedIndex(); <span class="operator">+</span><span class="operator">+</span>i) {
      <span class="type"><a href="qstring.html">QString</a></span> captured <span class="operator">=</span> match<span class="operator">.</span>captured(i);
      <span class="comment">// ...</span>
  }

</pre>
<p>Note that some of the capturing groups with an index less than lastCapturedIndex() could have not matched, and therefore captured nothing.</p>
<p>If the regular expression did not match, this function returns -1.</p>
<p><b>See also </b><a href="qregularexpressionmatch.html#captured">captured</a>(), <a href="qregularexpressionmatch.html#capturedStart">capturedStart</a>(), <a href="qregularexpressionmatch.html#capturedEnd">capturedEnd</a>(), and <a href="qregularexpressionmatch.html#capturedLength">capturedLength</a>().</p>
<!-- @@@lastCapturedIndex -->
<!-- $$$matchOptions[overload1]$$$matchOptions -->
<h3 class="fn" id="matchOptions"><a name="matchOptions"></a><span class="type"><a href="qregularexpression.html#MatchOption-enum">QRegularExpression::MatchOptions</a></span> QRegularExpressionMatch::<span class="name">matchOptions</span>() const</h3>
<p>Returns the match options that were used to get this <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> object, that is, the match options that were passed to <a href="qregularexpression.html#match">QRegularExpression::match</a>() or <a href="qregularexpression.html#globalMatch">QRegularExpression::globalMatch</a>().</p>
<p><b>See also </b><a href="qregularexpression.html#match">QRegularExpression::match</a>(), <a href="qregularexpressionmatch.html#regularExpression">regularExpression</a>(), and <a href="qregularexpressionmatch.html#matchType">matchType</a>().</p>
<!-- @@@matchOptions -->
<!-- $$$matchType[overload1]$$$matchType -->
<h3 class="fn" id="matchType"><a name="matchType"></a><span class="type"><a href="qregularexpression.html#MatchType-enum">QRegularExpression::MatchType</a></span> QRegularExpressionMatch::<span class="name">matchType</span>() const</h3>
<p>Returns the match type that was used to get this <a href="qregularexpressionmatch.html">QRegularExpressionMatch</a> object, that is, the match type that was passed to <a href="qregularexpression.html#match">QRegularExpression::match</a>() or <a href="qregularexpression.html#globalMatch">QRegularExpression::globalMatch</a>().</p>
<p><b>See also </b><a href="qregularexpression.html#match">QRegularExpression::match</a>(), <a href="qregularexpressionmatch.html#regularExpression">regularExpression</a>(), and <a href="qregularexpressionmatch.html#matchOptions">matchOptions</a>().</p>
<!-- @@@matchType -->
<!-- $$$regularExpression[overload1]$$$regularExpression -->
<h3 class="fn" id="regularExpression"><a name="regularExpression"></a><span class="type"><a href="qregularexpression.html">QRegularExpression</a></span> QRegularExpressionMatch::<span class="name">regularExpression</span>() const</h3>
<p>Returns the <a href="qregularexpression.html">QRegularExpression</a> object whose match() function returned this object.</p>
<p><b>See also </b><a href="qregularexpression.html#match">QRegularExpression::match</a>(), <a href="qregularexpressionmatch.html#matchType">matchType</a>(), and <a href="qregularexpressionmatch.html#matchOptions">matchOptions</a>().</p>
<!-- @@@regularExpression -->
<!-- $$$swap[overload1]$$$swapQRegularExpressionMatch& -->
<h3 class="fn" id="swap"><a name="swap"></a><span class="type">void</span> QRegularExpressionMatch::<span class="name">swap</span>(<span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;<i>other</i>)</h3>
<p>Swaps the match result <i>other</i> with this match result. This operation is very fast and never fails.</p>
<!-- @@@swap -->
<!-- $$$operator=[overload1]$$$operator=constQRegularExpressionMatch& -->
<h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;QRegularExpressionMatch::<span class="name">operator=</span>(const <span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;<i>match</i>)</h3>
<p>Assigns the match result <i>match</i> to this object, and returns a reference to the copy.</p>
<!-- @@@operator= -->
<!-- $$$operator=$$$operator=QRegularExpressionMatch&& -->
<h3 class="fn" id="operator-eq-1"><a name="operator-eq-1"></a><span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;QRegularExpressionMatch::<span class="name">operator=</span>(<span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;&amp;<i>match</i>)</h3>
<p>Move-assigns the match result <i>match</i> to this object, and returns a reference to the copy.</p>
<!-- @@@operator= -->
</div>
<div class="relnonmem">
<h2>Related Non-Members</h2>
<!-- $$$operator<<[overload1]$$$operator<<QDebugconstQRegularExpressionMatch& -->
<h3 class="fn" id="operator-lt-lt"><a name="operator-lt-lt"></a><span class="type"><a href="qdebug.html">QDebug</a></span> <span class="name">operator&lt;&lt;</span>(<span class="type"><a href="qdebug.html">QDebug</a></span> <i>debug</i>, const <span class="type"><a href="qregularexpressionmatch.html#QRegularExpressionMatch">QRegularExpressionMatch</a></span> &amp;<i>match</i>)</h3>
<p>Writes the match object <i>match</i> into the debug object <i>debug</i> for debugging purposes.</p>
<p><b>See also </b><a href="../qtdoc/testing-and-debugging.html#debugging-techniques">Debugging Techniques</a>.</p>
<!-- @@@operator<< -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2018 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>