QRegExp


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

見出し


QRegExp クラス

正規表現を利用したマッチングを提供するクラスです。
公式リファレンス

継承関係


使用できる正規表現

  • メタ文字
要素 説明
c c が特殊文字でない場合は文字自身を表します。
\c 文字自身を表します。特殊文字はこのようにエスケープして表します。
\a ベル(BEL 0x07)を表します。
\f 改ページ(FF 0x0C)を表します。
\n 改行(LF, 0x0A)を表します。
\r 復帰(CR, 0x0D)を表します。
\t 水平タブ(HT, 0x09)を表します。
\v 垂直タブ(VT, 0x0B)を表します。
\xhhhh Unicode符号点の文字を表します。hhhhは16進数で指定します。(0x0000~0xFFFF)
\0ooo ASCII/Latin1文字を表します。oooは8進数で指定します。(0~0377)
. 特殊文字を含む任意の文字を表します。
\d 数字を表します。( QChar::isDigit() )
\D 数字以外を表します。
\s 空白を表します。( QChar::isSpace() )
\S 空白以外を表します。
\w 文字を表します。(QChar::isLetterOrNumber()、QChar::isMark()または'_')
\W 文字以外を表します。
\n 後置参照を表します。n は数字で指定します。
  • 角括弧 []
角括弧の中に含まれる任意の文字を表します。
角括弧の中では次の2つの例外を除き、メタ文字も普通の文字として扱われます。
^ 最初に現れた文字以降を無効にします。
- 文字の範囲を指定します。
  • 数量子
デフォルトでは数量子に{1,1}が適用されます。
数量子 説明
E? 0個または1個のEを表します。
E+ 1個以上の連続したEを表します。E{1,}と同じです。
E* 0個以上の連続したEを表します。E{0,}と同じです。
E{n} n個の連続したEを表します。
E{n,} n個以上の連続したEを表します。
E{,m} m個以下の連続したEを表します。
E{n,m} n個以上m個以下の連続したEを表します。
  • キャプチャー()
丸括弧で囲んだ正規表現を含む文字列はキャプチャーされます。
後置参照を使用して正規表現内で使用することができます。
丸括弧の後に?:をつけることによりキャプチャーしないようにできます。
丸括弧は入れ子にすることができます。
  • アサーション
アサーション 説明
^ 文字列の先頭を表します。
$ 文字列の末尾を表します。
\b 単語境界を表します。
\B 単語境界以外を表します。
(?=E) 肯定先読み
(?!E) 否定先読み
  • ワイルドカード
c 文字 c 自身を表します。
? 任意の文字1文字を表します。正規表現の . に相当します。

任意の文字0文字以上を表します。

[...] 括弧内の任意の文字を表します。

メンバ関数

コンストラクタ

コピーコンストラクタ

デストラクタ

#openclose(){

QString QRegExp::cap(int nth = 0) const
キャプチャーした文字を返します。
パラメータ
  • nth 番号
0はマッチした文字列全体を表します。
丸括弧でグループ化したものはキャプチャーした順に1、2、…となります。

int QRegExp::captureCount() const
正規表現に含まれるキャプチャーの個数を返します。

QStringList QRegExp::capturedTexts() const
キャプチャーした文字列をリストで返します。
返り値
インデックス0はマッチした文字列全体を表します。
丸括弧でグループ化したものはキャプチャーした順にインデックス1、インデックス2、…となります。

Qt::CaseSensitivity QRegExp::caseSensitivity() const
大文字小文字を区別するかどうかの設定を返します。

QString QRegExp::errorString() const
正規表現が無効な場合、その理由を返します。
有効な場合は"no error occurred"を返します。

QString QRegExp::escape(const QString & str) [static]
指定文字列に含まれる特殊文字をエスケープして返します。
エスケープが必要な文字は'$'、 '('、')'、'*'、'+'、'.'、'?'、'['、、']'、'^'、'{'、'|' 及び '}' です。
パラメータ
  • str 文字列


bool QRegExp::exactMatch(const QString & str) const
指定文字列が正規表現に一致する場合はtrue、そうでない場合はfalseを返します。
指定文字列に正規表現が含まれるかどうかを調べるには indexIn() を使用します。
パラメータ
  • str マッチするか調べる文字列


int QRegExp::indexIn(const QString & str, int offset = 0, CaretMode caretMode = CaretAtZero) const
指定文字列に正規表現が含まれるか先頭から検索し、最初にマッチしたインデックスを返します。
パラメータ
  • str マッチするか調べる文字列
  • offset 検索開始位置 (デフォルト: -1)
値が-1の場合は文字列の末尾から検索します。
値が-2の場合は文字列の末尾から2文字目から検索します。
  • caretMode キャレットの扱い
キー 説明
QRegExp::CaretAtZero 0 文字列の先頭の位置を表します。
QRegExp::CaretAtOffset 1 文字列のオフセットの位置を表します。
QRegExp::CaretWontMatch 2 キャレットは検索に影響しません。
返り値
マッチした場合は最初にマッチした文字列のインデックス
マッチしなかった場合は-1を返します。

bool QRegExp::isEmpty() const
空の QRegExp オブジェクトの場合はtrue、そうでない場合はfalseを返します。
注意
空の正規表現の場合は exactMatch() はtrueを返します。
indexIn() はオフセットの位置を返します。

bool QRegExp::isMinimal() const
非貪欲マッチングが有効の場合はtrue、そうでない場合はfalseを返します。

bool QRegExp::isValid() const
正規表現が有効の場合はtrue、そうでない場合はfalseを返します。

int QRegExp::lastIndexIn(const QString & str, int offset = -1, CaretMode caretMode = CaretAtZero) const
指定文字列に正規表現が含まれるか末尾から検索し、最初にマッチしたインデックスを返します。
パラメータ
  • str マッチするか調べる文字列
  • offset 検索開始位置 (デフォルト: -1)
値が-1の場合は文字列の先頭から検索します。
値が-2の場合は文字列の先頭から2文字目から検索します。
  • caretMode キャレットの扱い
返り値
マッチした場合は最初にマッチした文字列のインデックス
マッチしなかった場合は-1を返します。

int QRegExp::matchedLength() const
最後にマッチした文字列の長さを返します。
マッチしなかった場合は-1を返します。
パラメータ
  • パラメータ 説明
  • パラメータ 説明
注意
説明文

QString QRegExp::pattern() const
このオブジェクトに設定されている正規表現を返します。

PatternSyntax QRegExp::patternSyntax() const
このオブジェクトに設定されている構文タイプを返します。

int QRegExp::pos(int nth = 0) const
キャプチャーした文字のインデックスを返します。
0はマッチした文字列全体のインデックスを表します。
丸括弧でグループ化したものはキャプチャーした順に1、2となります。
返り値
文字数0のマッチは-1を返します。

void QRegExp::setCaseSensitivity(Qt::CaseSensitivity cs)
大文字小文字を区別するかどうかを設定します。
パラメータ
  • cs 大文字小文字を区別するかどうか


void QRegExp::setMinimal(bool minimal)
非貪欲マッチングを有効にするかどうか設定します。
パラメータ
  • minimal 非貪欲マッチングを有効にするかどうか


void QRegExp::setPattern(const QString & pattern)
正規表現を設定します。
パラメータ
  • pattern 正規表現


void QRegExp::setPatternSyntax(PatternSyntax syntax)
構文タイプを設定します。
パラメータ
  • syntax 構文タイプ


void QRegExp::swap(QRegExp & other)
指定した QRegExp オブジェクトとこのオブジェクトのコンテンツを交換します。

演算子
 bool QRegExp::operator!=(const QRegExp & rx) const
 bool QRegExp::operator!=(const QRegExp & rx) const
QRegExp & QRegExp::operator=(const QRegExp & rx)
QRegExp & QRegExp::operator=(QRegExp && other)