博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式
阅读量:4313 次
发布时间:2019-06-06

本文共 965 字,大约阅读时间需要 3 分钟。

正则表达式(RUNOOB学习笔记)

一、前言(由QT获取路径想到的)
正则表达式在模糊查找中应用比较多。
Lunais在学习QT时想获取程序的根目录时遇到了这个问题。
eg: argv[0]: C:\abc\xyz.exe,然后从中取出 C:\abc\ 就是程序的根目录。
使用QT自带的函数QCoreApplication::applicationDirPath()就可以很方便的得到C:\abc,
(注意此处没有"\")然而这种用法在mac操作系统下可能会出错。考虑到跨平台,此处使用
QString ztyPath = QString::fromLocal8Bit(argv[0]);那么ztyPath就是C:\abc\xyz.exe
那么问题来了,怎么获取根目录C:\abc\呢?通用的做法是根据文件名的特点删除路径中的文件名。
此处,Lunais想到了正则表达式。
二、简单的正则表达式
通配符:?和 *
?用来匹配文件名中的单个字符;
*用来匹配文件名中的 (零个) 或 (多个) 字符。
三、why RegExp
引用RUNOOB的话:
典型的搜索和替换操作要求您提供与预期的搜索结果匹配的确切文本。
虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,
若采用这种方法搜索动态文本,即使不是不可能,至少也会变得很困难。
通过使用正则表达式,可以:
1、测试字符串内的模式。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。
2、替换文本。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
3、基于模式匹配从字符串中提取子字符串。
可以查找文档内或输入域内特定的文本。
例如,您可能需要搜索整个网站,删除过时的材料,以及替换某些 HTML 格式标记。
在这种情况下,可以使用正则表达式来确定在每个文件中是否出现该材料或该 HTML 格式标记。
此过程将受影响的文件列表缩小到包含需要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料。
最后,可以使用正则表达式来搜索和替换标记。

未完待续。。。

转载于:https://www.cnblogs.com/Lunais/p/5080793.html

你可能感兴趣的文章
(转)jQuery中append(),prepend()与after(),before()的区别
查看>>
Tecplot: Legend和图像中 Dashed/Dash dot/Long dash 等虚线显示没有区别的问题
查看>>
win8 开发之旅(2) --连连看游戏开发 项目错误的总结
查看>>
一、 object c -基础学习第一天 如何定义一个类
查看>>
Kali Linux的安装
查看>>
我的大学生活-5-08-赵心宁
查看>>
入门阶段
查看>>
Android中使用http协议访问网络
查看>>
Join 与 CountDownLatch 之间的区别
查看>>
vc6下dll调试
查看>>
Ubuntu apt常用命令
查看>>
struts2 配置(部分)
查看>>
python代码迷之错误(ModuleNotFoundError: No module named 'caffe.proto')
查看>>
nodejs adm-zip 解压文件 中文文件名乱码 问题解决
查看>>
<Bootstrap> 学习笔记六. 栅格系统使用案例
查看>>
vector--C++ STL 学习
查看>>
蜕变成蝶~Linux设备驱动之异步通知和异步I/O
查看>>
jquery简单开始
查看>>
作业2
查看>>
ios上架报错90080,90087,90209,90125 解决办法
查看>>