見出し
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文字以上を表します。
[...] 括弧内の任意の文字を表します。
メンバ関数
コンストラクタ
QRegExp::QRegExp()
空の QRegExp オブジェクトを生成します。
QRegExp::QRegExp(const QString & pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, PatternSyntax syntax = RegExp)
指定した正規表現の QRegExp オブジェクトを生成します。
パラメータ
- pattern 正規表現
- cs 大文字小文字を区別するかどうか
- syntax 構文 (デフォルト: QRegExp)
キー |
値 |
説明 |
QRegExp::RegExp |
0 |
Perlライクの正規表現によるパターンマッチングを提供します。 |
QRegExp::RegExp2 |
3 |
RegExp 同様ですが、貪欲指定子を持ちます。 |
QRegExp::Wildcard |
1 |
ワイルドカードによるパターンマッチングを提供します。 |
QRegExp::WildcardUnix |
4 |
Wildcard 同様ですが、ワイルドカード文字を\でエスケープできます。 |
QRegExp::FixedString |
2 |
RegExp 同様ですが、すべてのメタ文字は escape() を使用してエスケープします。 |
QRegExp::W3CXmlSchema11 |
5 |
W3C XMLスキーマ 1.1によって定義された正規表現を提供します。 |
コピーコンストラクタ
QRegExp::QRegExp(const QRegExp & rx)
パラメータ
デストラクタ
*
QString QRegExp::cap(int nth = 0) const
キャプチャーした文字を返します。
パラメータ
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]
指定文字列に含まれる特殊文字をエスケープして返します。
エスケープが必要な文字は'$'、 '('、')'、'*'、'+'、'.'、'?'、'['、、']'、'^'、'{'、'|' 及び '
' です。
パラメータ
bool QRegExp::exactMatch(const QString & str) const
指定文字列が正規表現に一致する場合はtrue、そうでない場合はfalseを返します。
指定文字列に正規表現が含まれるかどうかを調べるには indexIn() を使用します。
パラメータ
int QRegExp::indexIn(const QString & str, int offset = 0, CaretMode caretMode = CaretAtZero) const
指定文字列に正規表現が含まれるか先頭から検索し、最初にマッチしたインデックスを返します。
パラメータ
- str マッチするか調べる文字列
- offset 検索開始位置 (デフォルト: -1)
値が-1の場合は文字列の末尾から検索します。
値が-2の場合は文字列の末尾から2文字目から検索します。
キー |
値 |
説明 |
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文字目から検索します。
返り値
マッチした場合は最初にマッチした文字列のインデックス
マッチしなかった場合は-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)
大文字小文字を区別するかどうかを設定します。
パラメータ
void QRegExp::setMinimal(bool minimal)
非貪欲マッチングを有効にするかどうか設定します。
パラメータ
- minimal 非貪欲マッチングを有効にするかどうか
void QRegExp::setPattern(const QString & pattern)
正規表現を設定します。
パラメータ
void QRegExp::setPatternSyntax(PatternSyntax 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)
最終更新:2014年08月31日 16:48