正则算法Qt

本文探讨了Qt中的正则表达式算法,包括QTextStream在处理字符串时的注意事项,LinkedList与ArrayList的区别,以及Qt中关于list和substr等操作的问题。还介绍了在Qt中如何进行字符串匹配和数据类型的判断,以及正则表达式的应用,如单词自动补全功能和数据格式检查。
摘要由CSDN通过智能技术生成

LinkList  和 list<int> 区别?

Linklist存了不仅下一个节点,还有上一个节点,总共两个。

相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。

LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。

 

ArrayList 和List区别?

ArrayList同样也是一个容器,但是其大小不固定,底层 采用的也是线性连续空间来存放元素,当线性连续空间不足以存放元素时,又重新申请一片更大的空间(大约是原空间的2倍),将原有的内容移过去

曾老师的正则表达式?

	tStr = tStr.remove(QRegExp("[\\[\\]]"));
	QStringList strlist = tStr.split(" ");	//[0.1d 0.2d 1.0d]


	QRegExp numRX(QString("([0-9-+.]+)([rd]?)"));	//-12.5d(r for relative value and d for domain value)
	QRegExp stringRX(QString("[A-Za-z_]+[-]?[a-z]*"));	//e.g. func, Func, jewel_c

	if (str.contains("*"))
	{
		strlist = str.split("*");
		iType=1;
	}
	else if (str.contains("/"))
	{
		strlist = str.split("/");
		iType=2;
	}
	else if (str.contains("+"))

//1. Separate cmd string and parameter strings, e.g. "R(X, 30)"
	QRegExp rx(QString("([A-Za-z]+[0-9]*)\\(([^\\)]+)\\)"));	//"R" and "X, 30"
	
    m_cmdStr = rx.cap(1);
	//2. Identify number parameters and recognize parameter type
	QString tStr = rx.cap(2);	//"X, 30"

QstringList?底层

QStringList list;
list << "hello";
list << "world";
list.append("abc");

QString tmp = list.at(i);//据说不支持下标

QStringList list2 = str.split(",");

bool b = list2.contains("123");

    QStringList strList 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值