正则表达式的常用操作
使用正则表达式匹配密码强度要求,删除各类编程语言注释、空行。
🔑密码限制
要求:包含大写、小写字母、数字、长度6-16位
^(?![A-Za-z]+$)(?![0-9a-z]+$)(?![0-9A-Z]+$)[0-9A-Za-z]{6,16}$
- ^ 匹配开头位置
(?![A-Za-z]+$)
限定后面不全是字母(?![0-9a-z]+$)
限定后面不全是数字和小写字母(?![0-9A-Z]+$)
限定后面不全是数字和大写字母[0-9A-Za-z._ ]
限定由数字、大小写字母组成{6,16}
限定长度为6-16位- $ 匹配行结尾位置
💡删除注释、空行
空行
- 删除所有空行:
^\s*\n
- 多行连续空行变一行空行:
^\s*\n\s*$
C/C++ 注释
行注释
- 一般:
\/\/.*
- 或
\/\/.*?$
- 代码含有有网址等信息:
(?<!https:|http:)\/\/.*?$
块注释
/\*[\w\W\n]*?\*/
所有注释
\/\/.*?$|/\*[\w\W\n]*?\*/
- 测试代码
/*
* @Author: Pomin
* @Date: 2022-01-11 19:38:23
* @Github: https://github.com/POMIN-163
* @LastEditTime: 2022-02-08 16:38:44
* @Description:
*/
/*
safssd
*/
#include <fstream>
using namespace std;
int main(int argc, char const* argv[]) {
double X[10] = { 0 }; // Data_number代表数据的个数
double Y[10] = { 0 };
ifstream in1, in2; // 从硬盘到内存
in1.open("E:\\shuju\\x2.txt"); // 在相应的路径中打开txt文件
in2.open("E:\\shuju\\y2.txt");
for (int i = 0; i < 10; i++) { // 按行读取文件,Data_number表示数据有多少行,一行一个数据
in1 >> X[i];
// cout << X[i] << endl; // 可以在此输出数据,检查是否读取成功
}
for (int i = 0; i < 10; i++) { // 按行读取文件,Data_number表示数据有多少行,一行一个数据
in2 >> Y[i];
// cout << Y[i] << endl;
}
in1.close(); // 文件关闭
in2.close(); // 文件关闭
return 0;
}
- notepad3 编辑器结果
- vscode 编辑器结果
- Visual Studio 结果
python 注释
行注释
#.*
块注释
'''[\w\W\n]*?'''
所有注释
#.*|'''[\w\W\n]*?'''
MATLAB 注释
行注释
%[^{}].*
块注释
%\{[\w\W\n]*?%\}
所有注释
%[^{}].*|%\{[\w\W\n]*?%\}