CAtlRegExp 일치 이메일 주소
5340 단어 RegExp
Lua 안은 비교적 강해서 줄곧 여러 개와 일치한다.
t = {}
for name,domain in string.gmatch(s,"([-%a%d%._]+)@([-%a%d.]+)") do
-- Really no need to split and rejoin the email address
-- it was a part of the demonstration.
fulladdy = name .. "@" .. domain
msgbox(fulladdy,'');
end
CAtl Regexp는 한 번에 한 개만 일치하는 것 같습니다. 여러 개는 지원될지 안 될지 모릅니다.
#include "stdafx.h"
#include <atlrx.h>
#include <atlstr.h>
int _tmain(int argc, _TCHAR* argv[])
{
CString strText =
" [email protected] "
"asdfasdf@a0"
"3JDASDFG@.*)"
"2012-06-05 16:37:18 "
"[email protected] ~~"
" [email protected]。 ";
CAtlRegExp<> reUrl;
CAtlREMatchContext<> mcUrl;
CString strRex = "{[0-9a-z\\_\\.\\-]+@[0-9a-z\\_\\.\\-]+}"; //\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
REParseError status = reUrl.Parse(strRex);
if ( REPARSE_ERROR_OK != status ) {
// Unexpected error.
return 0;
}
const CAtlREMatchContext<>::RECHAR* szStart = 0;
const CAtlREMatchContext<>::RECHAR* szEnd = strText;
while ( TRUE ){
if ( !reUrl.Match( szEnd, &mcUrl) ) {
break;
}
if ( mcUrl.m_uNumGroups==0 ){
break;
}
for (UINT nGroupIndex = 0; nGroupIndex < mcUrl.m_uNumGroups; ++nGroupIndex) {
mcUrl.GetMatch(nGroupIndex, &szStart, &szEnd);
ptrdiff_t nLength = szEnd - szStart;
printf("%d: %.*s
", nGroupIndex, nLength, szStart);
}//end for
}//end while
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CAtlRegExp 일치 이메일 주소Lua 안은 비교적 강해서 줄곧 여러 개와 일치한다. CAtl Regexp는 한 번에 한 개만 일치하는 것 같습니다. 여러 개는 지원될지 안 될지 모릅니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.