「QRegExp」の編集履歴(バックアップ)一覧はこちら
「QRegExp」(2014/08/31 (日) 16:48:16) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**見出し
#contents()
**QRegExp クラス
正規表現を利用したマッチングを提供するクラスです。
[[公式リファレンス>URL]]
**継承関係
-[[QDataStream対応]]
**使用できる正規表現
-メタ文字
|要素|説明|
|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(){
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によって定義された正規表現を提供します。|
}
***コピーコンストラクタ
#openclose(){
QRegExp::QRegExp(const QRegExp & rx)
>パラメータ
-rx QRegExp オブジェクト
}
***デストラクタ
#openclose(){
QRegExp::~QRegExp()
}
***
#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)