本文整理汇总了C++中regExp函数的典型用法代码示例。如果您正苦于以下问题:C++ regExp函数的具体用法?C++ regExp怎么用?C++ regExp使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了regExp函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: regExp
ExternalFileDataParser::EFileLineType ExternalFileDataParser::determineLineType(const std::string & line)
{
if (line.empty())
{
return EFileLineType::EmptyLine;
}
if ('#' == line.front())
{
return EFileLineType::Comment;
}
{
std::regex regExp("numberOfSamples.*");
if (std::regex_match(line, regExp))
{
return EFileLineType::NumberOfSamples;
}
}
{
std::regex regExp("samplePeriod.*");
if (std::regex_match(line, regExp))
{
return EFileLineType::SamplePeriod;
}
}
{
std::regex regExp("description.*");
if (std::regex_match(line, regExp))
{
return EFileLineType::Description;
}
}
{
std::regex regExp("data.*");
if (std::regex_match(line, regExp))
{
return EFileLineType::DataKeyWord;
}
}
if (Utilities::isDouble(line))
{
return EFileLineType::Data;
}
return EFileLineType::Unknown;
}
示例2: switch
bool auxiliary::regExp(const char* R, const char* C)
{
if (*R=='*' && *(R+1)==0)
{
return true;
}
if (*C==0)
{
return *R==0;
}
switch(*R) {
case 0:
return false;
case '\\':
return *(++R)==*C ? regExp(++R, ++C) : false;
case '!':
return *(++R)!=*C ? regExp(++R, ++C) : false;
case '~':
return *(++R)!=*C ? regExp(R+1, C) || regExp(R+1, C+1) : false;
case '?':
return regExp(++R, ++C);
case '*':
return regExp(R+1,C) || regExp(R,C+1 );
default:
return (*R)==(*C) ? regExp(++R, ++C) : false;
}
}
示例3: while
QString DiffAnalystWindow::getNextDiffSessionName()
{
QString defaultName = "Untitled-";
int counter = 1;
QStringList nameList;
QString ret = "";
QWidgetList wl = m_pWs->windowList(QWorkspace::CreationOrder);
QWidgetList::iterator it = wl.begin();
QWidgetList::iterator end = wl.end();
for( ; it != end ; it++)
{
nameList.push_back( (*it)->name() );
}
while(1)
{
QString pattern = QString("^")+ defaultName + QString::number(counter) + "$";
QRegExp regExp(pattern);
if(nameList.grep(regExp).size() == 0)
{
ret = defaultName + QString::number(counter);
break;
}else{
counter++;
}
}
return ret;
}
示例4: QDialog
IGPrecisionDialog::IGPrecisionDialog(QWidget* parent):
QDialog(parent)
{
setupUi(this);
QRegExp regExp("[1-9][0-9]{0,1}");
lineEdit->setValidator( new QRegExpValidator(regExp, this) );
}
示例5: QDialog
Style_Edit::Style_Edit(QWidget *parent, QWidget *dwFrom)
: QDialog(parent), ui(new Ui::Style_Edit)
{
ui->setupUi(this);
m_dwFrom = dwFrom;
QRegExp regExp(".(.*)\\+?Style");
QString defaultStyle = QApplication::style()->metaObject()->className();
if (regExp.exactMatch(defaultStyle)) {
defaultStyle = regExp.cap(1);
}
// 1
ui->styleCombo->addItems(QStyleFactory::keys());
ui->styleCombo->setCurrentIndex(ui->styleCombo->findText(defaultStyle, Qt::MatchContains));
// 2
ui->styleSheetCombo->setCurrentIndex(ui->styleSheetCombo->findText(Style_Edit::qssName));
QString styleSheet = this->readStyleSheet(Style_Edit::qssName);
ui->styleTextEdit->setPlainText(styleSheet);
ui->applyPB->setEnabled(false);
// signal
connect(ui->closePB, SIGNAL(clicked()), this, SLOT(actionClose()));
}
示例6: regExp
QSObject QSRegExpClass::fetchValue( const QSObject *objPtr,
const QSMember &mem ) const
{
if ( mem.type() != QSMember::Custom )
return QSWritableClass::fetchValue( objPtr, mem );
QRegExp *re = regExp( objPtr );
switch ( mem.index() ) {
case Valid:
return createBoolean( re->isValid() );
case Empty:
return createBoolean( re->isEmpty() );
case MLength:
return createNumber( re->matchedLength() );
case Source:
return createString( source(objPtr) );
case Global:
return createBoolean( isGlobal(objPtr) );
case IgnoreCase:
return createBoolean( isIgnoreCase(objPtr) );
case CTexts: {
QSArray array( env() );
QStringList ct = re->capturedTexts();
QStringList::ConstIterator it = ct.begin();
int i = 0;
for ( ; it != ct.end(); ++it, ++i )
array.put( QString::number( i ), createString( *it ) );
array.put( QString::fromLatin1("length"), createNumber( i ) );
return array;
}
default:
return createUndefined();
}
}
示例7: trcFile
QStringList PluginGame5GraphDialog::parseTrace()
{
QFile trcFile(getTraceFile());
QString trcString;
if (trcFile.open(QIODevice::ReadOnly))
{
trcString = QString(trcFile.readAll());
}
int begin = trcString.indexOf("SB");
int end = trcString.indexOf("SEN", begin + 2);
QString trcStringS;
trcStringS = trcString.mid(begin + 2, end - begin - 2);
QRegExp regExp("(STN|STR)(((\\s)-?\\d{1,5}){8}((\\s)(\\s)(\\d{1,2})(\\s)(\\d{1,2})))(((\\nSRK)((\\s)\\d){4})(\\s\\d{1,2})((\\nSRK)((\\s)\\d){3})(\\s\\d{1,2}))?");
QStringList list;
int pos=0;
while((pos = regExp.indexIn(trcStringS, pos))!= -1)
{
list << regExp.cap(2) + regExp.cap(16) + regExp.cap(21);
pos += regExp.matchedLength();
}
trcFile.close();
return list;
}
示例8: regExp
bool rspfDtedInfo::open(const rspfFilename& file)
{
bool result = false;
// Test for extension, like dt0, dt1...
rspfString ext = file.ext();
rspfRegExp regExp("^[d|D][t|T][0-9]");
if ( regExp.find( ext.c_str() ) )
{
rspfDtedVol vol(file, 0);
rspfDtedHdr hdr(file, vol.stopOffset());
rspfDtedUhl uhl(file, hdr.stopOffset());
rspfDtedDsi dsi(file, uhl.stopOffset());
rspfDtedAcc acc(file, dsi.stopOffset());
//---
// Check for errors. Must have uhl, dsi and acc records. vol and hdr
// are for magnetic tape only; hence, may or may not be there.
//---
if ( (uhl.getErrorStatus() == rspfErrorCodes::RSPF_OK) &&
(dsi.getErrorStatus() == rspfErrorCodes::RSPF_OK) &&
(acc.getErrorStatus() == rspfErrorCodes::RSPF_OK) )
{
theFile = file;
result = true;
}
else
{
theFile.clear();
}
}
return result;
}
示例9: QDialog
EditUserDlg::EditUserDlg(int iType,QWidget *parent) :
QDialog(parent),
ui(new Ui::EditUserDlg)
{
ui->setupUi(this);
QPalette palette;
palette.setColor(QPalette::Background, QColor(224,237,254));
setPalette(palette);
//setWindowOpacity(0.95);
QRegExp regExp("[0-9A-Za-z_]*");
QValidator *validator = new QRegExpValidator(regExp, this);
ui->edit_password->setValidator(validator);
ui->edit_password->setToolTip(tr("有效字符:A-Z,a-z,0-9,_"));
ui->edit_name->setValidator(validator);
ui->edit_name->setToolTip(tr("有效字符:A-Z,a-z,0-9,_"));
ui->label_confirm->hide();
ui->edit_confirm->hide();
setFixedSize(size());
iOpenType = iType; //-1标示新建,大于等于0的数表示打开属性修改
setWindowTitle(tr("用户属性"));
ui->edit_name->setFocus();
init();
}
示例10: if
void SearchView::executeRequestFromIndex(int index)
{
SearchViewItem *it = (SearchViewItem*)mWidgets.at(index);
if (index <= mGoogleSearch.count())
{
QString url = mServices.value("Google").arg(it->getText());
Application::getWindow()->getWebContainer()->getWebView()->load(QUrl(url));
this->hide();
}
else if (index <= mGoogleSearch.count() + mServices.keys().count() + 2)
{
QRegExp regExp("\".*\" on (.*)");
if (regExp.exactMatch(it->getText()))
{
QString url = mServices.value(regExp.capturedTexts().at(1)).arg(mWord);
Application::getWindow()->getWebContainer()->getWebView()->load(QUrl(url));
this->hide();
}
}
else
{
Application::getWindow()->getWebContainer()->getWebView()->findText("", QWebPage::HighlightAllOccurrences);
Application::getWindow()->getWebContainer()->getWebView()->findText(mWord, QWebPage::HighlightAllOccurrences);
this->hide();
}
}
示例11: i18n
void KFindDialog::slotOk()
{
// Nothing to find?
if (pattern().isEmpty())
{
KMessageBox::error(this, i18n("You must enter some text to search for."));
return;
}
if (m_regExp->isChecked())
{
// Check for a valid regular expression.
TQRegExp regExp(pattern());
if (!regExp.isValid())
{
KMessageBox::error(this, i18n("Invalid regular expression."));
return;
}
}
m_find->addToHistory(pattern());
emit okClicked();
if ( testWFlags( WShowModal ) )
accept();
}
示例12: regExp
void MainWindow::filter_topics( const QString & text ) {
QRegExp regExp(text);
topicFilter->setDynamicSortFilter(true);
topicFilter->setFilterKeyColumn(1);
topicFilter->setFilterRegExp(regExp);
topicFilter->setFilterCaseSensitivity(Qt::CaseInsensitive);
}
示例13: regExp
FormationData::FormationData(QString data)
{
QStringList temp;
temp = data.split("=");
index = temp[0].toInt();
data = temp[1];
QRegExp regExp("[(][-]?[0-9]*\\.?[0-9]*,[-]?[0-9]*\\.?[0-9]*[)]");
if(regExp.indexIn(data)!=-1)
{
QString t = regExp.cap(0);
data = data.mid(t.length());
ball.x = t.mid(1,t.indexOf(",")-1).toDouble();
t = t.mid(t.indexOf(",")+1);
t = t.mid(0,t.length()-1);
ball.y = t.toDouble();
}
while(regExp.indexIn(data)!=-1)
{
QString t = regExp.cap(0);
data = data.mid(t.length());
Vector2D vec;
vec.x = t.mid(1,t.indexOf(",")-1).toDouble();
t = t.mid(t.indexOf(",")+1);
t = t.mid(0,t.indexOf(")"));
vec.y = t.toDouble();
robots.append(vec);
}
}
示例14: regExp
QString ParentFolderMethod::rename(QString path, QString fileName, QString query, bool caseSensitive, QString renameString)
{
const QString format = "<p(\\d*)>";
QRegExp regExp(format);
regExp.setCaseSensitivity(Qt::CaseInsensitive);
int pos = 0;
pos = regExp.indexIn(fileName, pos);
if(pos == -1) return fileName;
int hierarchy = 1;
/*遡る階層数を決定*/
if(regExp.cap(1) != ""){
hierarchy = regExp.cap(1).toInt();
}
QString parentPath = path;
for (int i = 0; i < hierarchy - 1; i++){
parentPath += QDir::separator() + QString("..");
}
QString parentFolder;
QDir dir(QDir(parentPath).canonicalPath());
if(dir.exists()){
parentFolder = dir.dirName();
} else {
//親フォルダが存在しない場合は空文字を返す
parentFolder = "";
}
QString renamed = fileName;
renamed.replace(QRegExp(regExp.cap(0)), parentFolder);
// 同一置換文字列内に複数の<f>リテラルがあった場合に対処するため、再帰処理にする。
return rename(path, renamed, query, caseSensitive, renameString);
}
示例15: QDialog
GMCharTools::GMCharTools(QWidget *parent) :
QDialog(parent),
ui(new Ui::GMCharTools)
{
ui->setupUi(this);
addCBills = 0;
addXP = 0;
// QRegExp regExp("[0-9]{0,}[.][0-9]{1,2}");
QRegExp regExp("[0-9]{0,}");
ui->ToMoneyAddGm->setValidator(new QRegExpValidator(regExp,this));
ui->FromMoneyAddGm->setValidator(new QRegExpValidator(regExp,this));
QRegExp regExpXP("[0-9]{0,}");
ui->XPAddGM->setValidator(new QRegExpValidator(regExpXP,this));
// double a = 12345.12;
// double b = 54321.12;
// double c;
// c = a*b;
// QString str;
// str = QVariant(c).toString();
// qDebug() << str;
}