1

一致するかどうかに応じて true/false を返す単純な C++、COM 可視、正規表現ユーティリティがあります。A [A](単体テストのメソッド シグネチャから借用) のような式が一致します。Excel の範囲文字列に一致する適切な式は(A1:Z10)問題なく機能します。みたいな表現ですが、

This is a long sentence.

[A-Za-Z]*大文字小文字の無視の有無にかかわらず、一致しません。考えられるバリエーションを試してみました: \w[A-Z]*(caps セットを無視)、.NET のさまざまな \p... (何か、今は思い出せません!)。何も機能しません。興味深いことに、私は VS2012 に 2 つの異なる正規表現テスター プラグインを持っていますが、どちらも正規表現が文で一致すると言っています。

/編集/これはあまり役に立たないと思いますが、C++コードの操作部分は次のとおりです。

<!-- language: lang-cpp -->
varRegex.ChangeType(VT_BSTR);

    using namespace std::regex_constants;
    wregex regexPredicate((wchar_t*)varRegex.bstrVal, ECMAScript|icase);

    if (varValue.vt == VT_BSTR)
    {
        pRetVal->vt = VT_BOOL;
        pRetVal->boolVal = std::regex_match( static_cast<wchar_t*>(varValue.bstrVal), regexPredicate ) 
            ? VARIANT_TRUE : VARIANT_FALSE;
    }

うーん...私は間違って使用している必要があります。

考え?

ありがとう。

4

2 に答える 2