本文整理汇总了C++中JRegex::MatchFrom方法的典型用法代码示例。如果您正苦于以下问题:C++ JRegex::MatchFrom方法的具体用法?C++ JRegex::MatchFrom怎么用?C++ JRegex::MatchFrom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JRegex
的用法示例。
在下文中一共展示了JRegex::MatchFrom方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetTextEditor
void
CBCompileDocument::ConvertSelectionToFullPath
(
JString* fileName
)
const
{
(CBGetDocumentManager())->SetActiveListDocument(const_cast<CBCompileDocument*>(this));
if (JIsAbsolutePath(*fileName))
{
return;
}
CBTextEditor* te = GetTextEditor();
const JString& text = te->GetText();
const JIndex caretChar = te->GetInsertionIndex();
JArray<JIndexRange> matchList;
JStack<JIndex, JArray<JIndex> > dirStack;
JIndex i=1;
while (dirMarkerPattern.MatchFrom(text, i, &matchList))
{
i = (matchList.GetElement(1)).last + 1;
if (i >= caretChar)
{
break;
}
if (!(matchList.GetElement(3)).IsEmpty()) // Entering
{
dirStack.Push(i);
}
else // Leaving
{
assert( !(matchList.GetElement(4)).IsEmpty() );
JIndex j;
dirStack.Pop(&j);
}
}
JIndex startChar;
if (dirStack.Peek(&startChar))
{
JIndex endChar = startChar;
if (text.GetCharacter(endChar) != '\'' &&
text.LocateNextSubstring("\'", &endChar))
{
endChar--;
JString testName = text.GetSubstring(startChar, endChar);
testName = JCombinePathAndName(testName, *fileName);
if (JFileExists(testName))
{
*fileName = testName;
return;
}
}
}
CBExecOutputDocument::ConvertSelectionToFullPath(fileName);
}