이 페이지에서

QRegularExpressionMatch Class

QRegularExpressionMatch 클래스는 정규 표현식( QRegularExpression )을 문자열과 대조하여 일치시킨 결과를 제공합니다. 더 보기...

헤더: #include <QRegularExpressionMatch>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

참고: 이 클래스의 모든 함수는 재입력 가능합니다.

공개 함수

QRegularExpressionMatch()
QRegularExpressionMatch(const QRegularExpressionMatch &match)
(since 6.1) QRegularExpressionMatch(QRegularExpressionMatch &&match)
~QRegularExpressionMatch()
QString captured(QAnyStringView name) const
QString captured(int nth = 0) const
qsizetype capturedEnd(QAnyStringView name) const
qsizetype capturedEnd(int nth = 0) const
qsizetype capturedLength(QAnyStringView name) const
qsizetype capturedLength(int nth = 0) const
qsizetype capturedStart(QAnyStringView name) const
qsizetype capturedStart(int nth = 0) const
QStringList capturedTexts() const
QStringView capturedView(QAnyStringView name) const
QStringView capturedView(int nth = 0) const
(since 6.3) bool hasCaptured(QAnyStringView name) const
(since 6.3) bool hasCaptured(int nth) const
bool hasMatch() const
bool hasPartialMatch() const
bool isValid() const
int lastCapturedIndex() const
QRegularExpression::MatchOptions matchOptions() const
QRegularExpression::MatchType matchType() const
QRegularExpression regularExpression() const
void swap(QRegularExpressionMatch &other)
QRegularExpressionMatch &operator=(QRegularExpressionMatch &&match)
QRegularExpressionMatch &operator=(const QRegularExpressionMatch &match)
QDebug operator<<(QDebug debug, const QRegularExpressionMatch &match)

자세한 설명

QRegularExpression::match() 함수를 호출하거나, QRegularExpressionMatchIterator 에서 전역 일치 결과의 단일 결과로 QRegularExpressionMatch 객체를 얻을 수 있습니다.

hasMatch() 함수를 호출하여 일치 시도의 성공 또는 실패 여부를 확인할 수 있습니다. QRegularExpressionMatch는 또한 hasPartialMatch() 함수를 통해 부분 일치의 성공 여부를 보고합니다.

또한, QRegularExpressionMatch는 패턴 문자열 내의 캡처 그룹에 의해 캡처된 부분 문자열을 반환합니다. 인덱스 0을 가진 암시적 캡처 그룹은 전체 일치 결과를 캡처합니다. captured() 함수는 캡처 그룹의 인덱스나 이름을 통해 캡처된 각 부분 문자열을 반환합니다:

QRegularExpression re("(\\d\\d) (?<name>\\w+)");
QRegularExpressionMatch match = re.match("23 Jordan");
if (match.hasMatch()) {
    QString number = match.captured(1); // first == "23"
    QString name = match.captured("name"); // name == "Jordan"
}

캡처된 각 부분 문자열에 대해, capturedStart() 함수를 호출하여 대상 문자열 내에서의 시작 오프셋을, capturedEnd() 함수를 호출하여 끝 오프셋을 조회할 수 있습니다. 각 캡처된 부분 문자열의 길이는 capturedLength() 함수를 사용하여 확인할 수 있습니다.

편의 함수인 capturedTexts()는 캡처 그룹에 의해 캡처된 순서대로(즉, captured(i) == capturedTexts().at(i)) 모든 캡처된 부분 문자열(전체 패턴과 일치한 부분 문자열 포함)을 한 번에 반환합니다.

regularExpression() 함수를 호출하면 대상 문자열과 일치한 QRegularExpression 객체를 가져올 수 있으며, matchType() 및 matchOptions()을 각각 호출하여 일치 유형과 일치 옵션을 확인할 수도 있습니다.

Qt 정규식 클래스에 대한 자세한 내용은 QRegularExpression 문서를 참조하십시오.

QRegularExpression도 참조하십시오 .

멤버 함수 문서

QRegularExpressionMatch::QRegularExpressionMatch()

유효한 빈 QRegularExpressionMatch 객체를 생성합니다. 정규 표현식은 기본 생성된 것으로 설정되며, 일치 유형은 ` QRegularExpression::NoMatch `로, 일치 옵션은 ` QRegularExpression::NoMatchOption`로 설정됩니다.

이 객체는 hasMatch() 및 hasPartialMatch() 멤버 함수를 통해 일치 항목이 없다고 보고합니다.

QRegularExpressionMatch::QRegularExpressionMatch(const QRegularExpressionMatch &match)

주어진 ` match`의 결과를 복사하여 매칭 결과를 생성합니다.

operator=()도 참조하십시오 .

[constexpr noexcept default, since 6.1] QRegularExpressionMatch::QRegularExpressionMatch(QRegularExpressionMatch &&match)

지정된 ` match`의 결과를 이동하여 일치 결과를 생성합니다.

이동된 QRegularExpressionMatch는 소멸되거나 할당될 수만 있다는 점에 유의하십시오. 소멸자나 할당 연산자 중 하나를 제외한 다른 함수를 호출할 경우의 결과는 정의되지 않습니다.

이 함수는 Qt 6.1에서 도입되었습니다.

operator=()도 참조하십시오 .

[noexcept] QRegularExpressionMatch::~QRegularExpressionMatch()

경기 결과를 무효화합니다.

QString QRegularExpressionMatch::captured(QAnyStringView name) const

name 라는 캡처 그룹이 캡처한 부분 문자열을 반환합니다.

이름이 name 인 캡처 그룹이 문자열을 캡처하지 않았거나, name 라는 이름의 캡처 그룹이 없는 경우, null인 QString 을 반환합니다.

참고: Qt 6.8 이전버전에서는 이 함수가 QAnyStringView 가 아닌 QString 또는 QStringView 를 인수로 받았습니다.

또한 capturedView(), capturedStart(), capturedEnd(), capturedLength(), QString::isNull()도참조하십시오 .

QString QRegularExpressionMatch::captured(int nth = 0) const

nth 캡처 그룹에 의해 캡처된 부분 문자열을 반환합니다.

nth 캡처 그룹이 문자열을 캡처하지 않았거나, 해당 캡처 그룹이 없는 경우 null QString 을 반환합니다.

참고: 암시적 캡처 그룹 번호 0은 전체 패턴과 일치하는 부분 문자열을 캡처합니다.

참조: capturedView(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength(), QString::isNull().

qsizetype QRegularExpressionMatch::capturedEnd(QAnyStringView name) const

name 라는 캡처 그룹이 캡처한 부분 문자열의 종료 위치 바로 뒤, 대상 문자열 내부의 오프셋을 반환합니다. name 라는 캡처 그룹이 문자열을 캡처하지 않았거나 존재하지 않는 경우, -1을 반환합니다.

참고: Qt 6.8 이전버전에서는 이 함수가 QAnyStringView 이 아닌 QString 또는 QStringView 을 매개변수로 받았습니다.

capturedStart(), capturedLength(), captured()도 참조하십시오 .

qsizetype QRegularExpressionMatch::capturedEnd(int nth = 0) const

nth 캡처 그룹에 의해 캡처된 부분 문자열의 종료 위치 바로 다음의 대상 문자열 내 오프셋을 반환합니다. nth 캡처 그룹이 문자열을 캡처하지 않았거나 존재하지 않는 경우, -1을 반환합니다.

capturedStart(), capturedLength(), captured()도 참조하십시오 .

qsizetype QRegularExpressionMatch::capturedLength(QAnyStringView name) const

name 라는 캡처 그룹에 의해 캡처된 부분 문자열의 길이를 반환합니다.

참고: name 라는 캡처 그룹이 문자열을 캡처하지 않았거나 존재하지 않는 경우,이 함수는 0을 반환합니다.

참고: Qt 6.8 이전버전에서는 이 함수가 QAnyStringView 대신 QString 또는 QStringView 를 매개변수로 받았습니다.

capturedStart(), capturedEnd(), captured()도 참조하십시오 .

qsizetype QRegularExpressionMatch::capturedLength(int nth = 0) const

nth 캡처 그룹에 의해 캡처된 부분 문자열의 길이를 반환합니다.

참고: ` nth ` 캡처 그룹이 문자열을 캡처하지 않았거나 존재하지 않는 경우,이 함수는 0을 반환합니다.

참조: capturedStart(), capturedEnd(), captured().

qsizetype QRegularExpressionMatch::capturedStart(QAnyStringView name) const

name 라는 캡처 그룹이 캡처한 부분 문자열의 시작 위치에 해당하는 대상 문자열 내의 오프셋을 반환합니다. name 라는 캡처 그룹이 문자열을 캡처하지 않았거나 존재하지 않는 경우, -1을 반환합니다.

참고: Qt 6.8 이전버전에서는 이 함수가 QAnyStringView 이 아닌 QString 또는 QStringView 을 매개변수로 받았습니다.

capturedEnd(), capturedLength(), captured()도 참조하십시오 .

qsizetype QRegularExpressionMatch::capturedStart(int nth = 0) const

nth 캡처 그룹이 캡처한 부분 문자열의 시작 위치에 해당하는 대상 문자열 내의 오프셋을 반환합니다. nth 캡처 그룹이 문자열을 캡처하지 않았거나 존재하지 않는 경우, -1을 반환합니다.

capturedEnd(), capturedLength(), captured()도 참조하십시오 .

QStringList QRegularExpressionMatch::capturedTexts() const

패턴 문자열 내에서 캡처 그룹이 나타나는 순서대로, 캡처 그룹에 의해 캡처된 모든 문자열의 목록을 반환합니다. 이 목록에는 전체 패턴과 일치하는 부분 문자열을 캡처하는 암시적 캡처 그룹 번호 0이 포함됩니다.

QStringView QRegularExpressionMatch::capturedView(QAnyStringView name) const

name 라는 캡처 그룹이 캡처한 문자열의 뷰를 반환합니다.

이름이 name 인 캡처 그룹이 문자열을 캡처하지 않았거나, name 라는 캡처 그룹이 없는 경우, null인 QStringView 을 반환합니다.

참고: Qt 6.8 이전버전에서는 이 함수가 QAnyStringView 이 아닌 QString 또는 QStringView 을 매개변수로 받았습니다.

또한 captured(), capturedStart(), capturedEnd(), capturedLength() 및 QStringView::isNull()을 참조하십시오 .

QStringView QRegularExpressionMatch::capturedView(int nth = 0) const

nth 캡처 그룹에 의해 캡처된 부분 문자열의 뷰를 반환합니다.

nth 캡처 그룹이 문자열을 캡처하지 않았거나, 해당 캡처 그룹이 없는 경우 null QStringView 을 반환합니다.

참고: 암시적 캡처 그룹 번호 0은 전체 패턴과 일치하는 부분 문자열을 캡처합니다.

참조: captured(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength(), QStringView::isNull().

[since 6.3] bool QRegularExpressionMatch::hasCaptured(QAnyStringView name) const

name 라는 캡처 그룹이 대상 문자열에서 무언가를 캡처한 경우 true를 반환하고, 그렇지 않은 경우(또는 name 라는 캡처 그룹이 없는 경우) false를 반환합니다.

참고: 정규 표현식이 일치하더라도일부 캡처 그룹은 아무것도 캡처하지 않았을 수 있습니다. 예를 들어, 패턴에서 조건 연산자가 사용된 경우 이러한 현상이 발생할 수 있습니다:

QRegularExpression re("([a-z]+)|([A-Z]+)");
QRegularExpressionMatch m = re.match("UPPERCASE");
if (m.hasMatch()) {
    qDebug() << m.hasCaptured(0); // true
    qDebug() << m.hasCaptured(1); // false
    qDebug() << m.hasCaptured(2); // true
}

마찬가지로, 캡처 그룹은 길이가 0인 부분 문자열을 캡처할 수도 있으며, 이 함수는 그러한 캡처 그룹에 대해 true 를 반환합니다.

참고: Qt 6.8 이전버전에서는 이 함수가 QAnyStringView 가 아닌 QString 또는 QStringView 를 매개변수로 받았습니다.

이 함수는 Qt 6.3에서 도입되었습니다.

captured() 및 hasMatch()도 참조하십시오 .

[since 6.3] bool QRegularExpressionMatch::hasCaptured(int nth) const

nth 캡처 그룹이 대상 문자열에서 무언가를 캡처한 경우 true를 반환하고, 그렇지 않은 경우(또는 해당 캡처 그룹이 없는 경우) false를 반환합니다.

참고: 암시적 캡처 그룹 번호 0은 전체 패턴과 일치하는 부분 문자열을 캡처합니다.

참고: 정규 표현식이 일치하더라도일부 캡처 그룹은 아무것도 캡처하지 못할 수 있습니다. 예를 들어, 패턴에서 조건 연산자가 사용된 경우 이러한 현상이 발생할 수 있습니다:

QRegularExpression re("([a-z]+)|([A-Z]+)");
QRegularExpressionMatch m = re.match("UPPERCASE");
if (m.hasMatch()) {
    qDebug() << m.hasCaptured(0); // true
    qDebug() << m.hasCaptured(1); // false
    qDebug() << m.hasCaptured(2); // true
}

마찬가지로, 캡처 그룹은 길이가 0인 부분 문자열을 캡처할 수도 있습니다. 이 함수는 이러한 캡처 그룹에 대해 true 을 반환합니다.

이 함수는 Qt 6.3에서 도입되었습니다.

captured(), lastCapturedIndex(), hasMatch()도 참조하십시오 .

bool QRegularExpressionMatch::hasMatch() const

정규 표현식이 대상 문자열과 일치하면 true 를 반환하고, 그렇지 않으면 false를 반환합니다.

QRegularExpression::match() 및 hasPartialMatch()도 참조하십시오 .

bool QRegularExpressionMatch::hasPartialMatch() const

정규 표현식이 대상 문자열과 부분적으로 일치하면 ` true `를 반환하고, 그렇지 않으면 `false`를 반환합니다.

참고: 부분 일치 유형 중 하나를 명시적으로 사용한일치만 부분 일치를 반환할 수 있습니다. 그러나 이러한 일치가 완전히 성공하더라도 이 함수는 false를 반환하는 반면, hasMatch()는 true를 반환합니다.

QRegularExpression::match(), QRegularExpression::MatchType 및 hasMatch()도 참조하십시오 .

bool QRegularExpressionMatch::isValid() const

매치 객체가 유효한 QRegularExpression 객체에 대해 호출된 QRegularExpression::match() 함수의 결과로 얻어진 경우 true 를 반환하고, QRegularExpression 가 유효하지 않은 경우 false 를 반환합니다.

QRegularExpression::match() 및 QRegularExpression::isValid()도 참조하십시오 .

int QRegularExpressionMatch::lastCapturedIndex() const

명시적 캡처 그룹 0을 포함하여, 무언가를 캡처한 마지막 캡처 그룹의 인덱스를 반환합니다. 이를 사용하여 캡처된 모든 부분 문자열을 추출할 수 있습니다:

QRegularExpressionMatch match = re.match(string);
for (int i = 0; i <= match.lastCapturedIndex(); ++i) {
    QString captured = match.captured(i);
    // ...
}

lastCapturedIndex()보다 인덱스가 작은 캡처 그룹 중 일부는 일치하지 않아 아무것도 캡처하지 않았을 수 있다는 점에 유의하십시오.

정규 표현식이 일치하지 않은 경우, 이 함수는 -1을 반환합니다.

hasCaptured(), captured(), capturedStart(), capturedEnd() 및 capturedLength()도 참조하십시오 .

QRegularExpression::MatchOptions QRegularExpressionMatch::matchOptions() const

이 QRegularExpressionMatch 객체를 가져오는 데 사용된 매칭 옵션을 반환합니다. 즉, QRegularExpression::match() 또는 QRegularExpression::globalMatch()에 전달된 매칭 옵션입니다.

QRegularExpression::match(), regularExpression() 및 matchType()도 참조하십시오 .

QRegularExpression::MatchType QRegularExpressionMatch::matchType() const

이 QRegularExpressionMatch 객체를 가져오는 데 사용된 매치 유형, 즉 QRegularExpression::match() 또는 QRegularExpression::globalMatch()에 전달된 매치 유형을 반환합니다.

QRegularExpression::match(), regularExpression(), matchOptions()도 참조하십시오 .

QRegularExpression QRegularExpressionMatch::regularExpression() const

match() 함수가 이 객체를 반환한 QRegularExpression 객체를 반환합니다.

QRegularExpression::match(), matchType(), matchOptions()도 참조하십시오 .

[noexcept] void QRegularExpressionMatch::swap(QRegularExpressionMatch &other)

other 와 이번 경기 결과를 바꿉니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.

[noexcept] QRegularExpressionMatch &QRegularExpressionMatch::operator=(QRegularExpressionMatch &&match)

match 의 매칭 결과를 이 객체에 이동 할당하고, 결과에 대한 참조를 반환합니다.

이동된 QRegularExpressionMatch 는 소멸되거나 할당될 수만 있다는 점에 유의하십시오. 소멸자나 할당 연산자 중 하나를 제외한 다른 함수를 호출할 경우의 결과는 정의되지 않습니다.

QRegularExpressionMatch &QRegularExpressionMatch::operator=(const QRegularExpressionMatch &match)

이 객체에 match 의 경기 결과를 할당하고, 복사본에 대한 참조를 반환합니다.

관련 비멤버

QDebug operator<<(QDebug debug, const QRegularExpressionMatch &match)

디버깅을 위해 매치 객체 match 를 디버그 객체 debug 에 기록합니다.

'디버깅 기법'항목도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. 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.