C# 简单正则表达式不';不匹配 我有一个简单的C++、COM可见、ReGEX实用工具,它根据它是否找到匹配返回真/假。类似于A[A](借用单元测试中的方法签名)的表达式匹配。一个很好的表达式可以匹配Excel范围字符串(A1:Z10)。但是像这样的表达 This is a long sentence.

C# 简单正则表达式不';不匹配 我有一个简单的C++、COM可见、ReGEX实用工具,它根据它是否找到匹配返回真/假。类似于A[A](借用单元测试中的方法签名)的表达式匹配。一个很好的表达式可以匹配Excel范围字符串(A1:Z10)。但是像这样的表达 This is a long sentence.,c#,c++,regex,unit-testing,com,C#,C++,Regex,Unit Testing,Com,[A-Za-Z]*无论是否忽略大小写,都不匹配。我尝试过我能想到的变体:\w[A-Z]*(忽略大写设置),一种.NET变体\p。。。(有些事,我现在记不得了!)。什么都不管用。有趣的是,我在VS2012中有两个不同的正则表达式测试插件,它们都说正则表达式与句子匹配 /编辑/ 不要认为这会有很大帮助,但是C++代码的有效部分是: <!-- language: lang-cpp --> varRegex.ChangeType(VT_BSTR); using namespace

[A-Za-Z]*
无论是否忽略大小写,都不匹配。我尝试过我能想到的变体:
\w[A-Z]*
(忽略大写设置),一种.NET变体\p。。。(有些事,我现在记不得了!)。什么都不管用。有趣的是,我在VS2012中有两个不同的正则表达式测试插件,它们都说正则表达式与句子匹配

/编辑/ 不要认为这会有很大帮助,但是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;
    }

varRegex.ChangeType(VT_BSTR);
使用名称空间std::regex_常量;
wregex regexPredicate((wchar_t*)varRegex.bstrVal,ECMAScript | icase);
如果(varValue.vt==vt\u BSTR)
{
pRetVal->vt=vt\u BOOL;
pRetVal->boolVal=std::regex_匹配(static_cast(varValue.bstrVal),regexPredicate)
?变量为真:变量为假;
}
嗯。。。我一定是用错了

想法

谢谢

“这是一个很长的句子。”“[a-Za-Z]”


您的意思可能是“[A-Za-z]”//最后一个“z”很小,这是一个很长的句子。您需要使用量词

[a-zA-Z\. ]*   matches any character of a-z or A-Z, ' ' and '.' (0 or more times)
可以识别以下量词

*      Match 0 or more times
+      Match 1 or more times
?      Match 1 or 0 times
{n}    Match exactly n times
{n,}   Match at least n times
{n,m}  Match at least n but not more than m times

[A-Za-z]这个正则表达式匹配所有字母的大小写你能在你的问题中添加一些代码吗,特别是关于你如何应用正则表达式的问题?是的。打字错误又来了!我真的认为把量词从星号改成加号就行了,但没有乐趣。可能包括标点符号<代码>[a-zA-Z\.]+