- .Net 7 新编译器 ILC 简析
dotNET跨平台
.net
楔子:这个新编译器的全称是ILCompiler。是之前CoreRT项目合并过来的,在.Net7成熟,并且可以产业化应用。本质:ILC编译器的本质除了构建CLR的所拥有的主要功能,还包含了对LLVM这种意图取代GCC编译器的操作,对于LLVM主要是用来Win,Linux,Macos三种不同的操作系统的目标文件而所做的封装。一.CLR的主要功能:1.构建内存模型,比如MethodTable,EECla
- SYN-TFO伪造攻击.c
金猪报喜-阿尔法
c语言安全网络
/*--------------------------------------------------*\SYN-TFO伪造攻击作者:alpha编译方法:gcc-osyntfosyntfo.c-pthread\*--------------------------------------------------*/#include#include#include#include#include#
- pdsh 2.29 源码编译安装教程
云墨丹青
windowsssh
pdsh2.29源码编译安装教程简介pdsh(ParallelDistributedShell)是一个高效的多服务器并行shell命令执行工具。本文将详细介绍如何从源码编译安装pdsh2.29版本。环境要求Linux操作系统gcc编译器make工具足够的磁盘空间(建议至少1GB可用空间)安装步骤1.下载源码包首先,下载pdsh2.29的源码包:wgethttps://storage.googlea
- QEMU在嵌入式逆向分析中的应用
饮长安千年月
物联网安全elasticsearch大数据搜索引擎
本文详细汇总介绍了应用QEMU模拟器进行嵌入式环境构建及应用级、内核级逆向调试的技术方法,进行了详尽的实例讲解。一、用QEMU模拟嵌入式调试环境1.安装arm的交叉编译工具链如果订制一个交叉编译工具链,可使用crosstool-ng开源软件来构建。但在这里建议直接安装arm的交叉编译工具链:sudoapt-getinstallgcc-arm-linux-gnueabi或针对特定版本安装:sudoa
- C++栈内存管理:从原理到高性能编程实践
溟海.
c++c++开发语言
以下是一篇关于C++栈机制的原创技术论文框架及内容,结合语言规范、编译器实现与工程实践,包含创新性分析和实验验证:---**C++栈内存管理:从原理到高性能编程实践****摘要**本文深入剖析C++栈内存的分配机制、生命周期管理及优化策略。通过反汇编分析GCC/Clang编译器实现,验证栈帧结构与函数调用约定,提出基于现代C++特性的栈使用优化方案。实验证明,合理控制栈空间可降低30%内存访问延迟
- linux系统测试网络pps、带宽和延时(方案来源于阿里云)
乐观主义现代人
linux网络阿里云
此方案来源于阿里云pps测试步骤分别在测试机和辅助测试机上执行以下命令,下载Netperf。wgethttps://benchmark-packages.oss-cn-qingdao.aliyuncs.com/netperf-2.7.0.tar.gz分别在测试机和辅助测试机上执行以下命令,安装Netperf和sar监控工具。sudoyuminstall-ygccautoconfautomakeli
- C语言--指针(三)
weixin_51790712
c语言开发语言
预处理#includehello.cgcchello.c//编译预处理(预编译)汇编(汇编语言)---助记符编程:人类语言--->编程语言(C语言)---汇编语言--->机器语言(01010)八位的单片机01010101//加法//0101010116位32位01010101010101010101010101010101//add64位main(){inta=1;intb=2;printf("h
- 嵌入式编译工具链比较
JNI_42020487
编译工具
在嵌入式开发中,编译工具链是开发过程中非常重要的一部分,它包含了一系列用于代码编译、调试、链接和打包的工具。一个完整的嵌入式编译工具链通常包括编译器、汇编器、链接器、调试器等。下面是常见的嵌入式编译工具链及相关工具:1.GCC(GNUCompilerCollection)GCC是最常用的开源编译器集合,广泛应用于嵌入式开发。GCC支持多种处理器架构,包括ARM、AVR、MIPS、RISC-V等,因
- fastdda+ubuntu20.04+vscode实现(实测最简单安装教程)
01_
实用技巧vscodeideubuntudds
fastdda+ubuntu20.04+vscode实现及各种问题处理ubuntu镜像安装包及vm+密钥,私信我给你网盘资源(单纯懒得这会挂连接)fastdds虚拟机安装Dds安装(ubuntu)打开终端1.更新工具(建议使用要不可能会出现一堆问腿)sudoaptupdatesudoaptupgrade2.安装构建FastDDS所需的依赖项sudoaptinstall-ycmakegitgccg+
- 嵌入式WebRTC压缩至670K,目标将so动态库压缩至500K,.a静态库还可以更小
xiejiashu
WEBRTCwebrtc嵌入式WebRTCWebRTC嵌入式EasyRTCWebRTC设备
最近把EasyRTC的效果发布出去给各大IPC厂商体验了一下,直接就用EasyRTC与各个厂商的负责人进行的通话,在通话中,用户就反馈效果确实不错!这两天有用户要在海思hi3516cv610上使用EasyRTC,工具链是:gcc-20240318-arm-v01c02-linux-musleabi,我们编译了一下,编译出来的版本大小在670K左右:在我们还没对编译进行压缩优化的情况下,嵌入式的静态
- linux环境Git客户端下载安装
桀骜浮沉
LinuxlinuxgitGit客户端下载安装Git客户端
linux环境Git客户端下载安装官网下载:https://mirrors.edge.kernel.org/pub/software/scm/git/解压tar-zxvfgit-2.22.0.tar.gzcdgit-2.22.0安装编译工具yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develgccperl-ExtUt
- 深度解析Linux中的编译器gcc/g++
xghfcgc
linux运维服务器
gcc只用来编译C语言g++用来编译C/C++程序的翻译步骤经历四个过程的1、预处理(进行宏替换/去注释/条件编译/头文件展开等)这个-E的意思是从现在开始,进行程序的翻译,一但预处理做完了,就停下来那么这里的code.i保存的是预处理之后的结果我们这里的-o选项就是指明了我们的生成文件的名称了那么我们将这个code.i文件和原始的code.c进行对比下对比发现我们的源文件有24行,预处理结算的代
- 问题Could not resolve host: mirrorlist.centos.org; Unknown error【已解决】
Everate
centoslinux运维服务器
在配置Linux下的Nginx服务器前安装gcc时出现该问题。经过长时间的search,该问题产生的原因主要有以下几个方面:1.虚拟机的网络问题。2.镜像网站的配置问题。3.DNS服务器的设置问题。一、网络问题解决方案(一)使用NAT模式该模式下网络一般不会有太大问题,需要注意的是该模式下需要启用DHCP模式。用以下命令检查网络模式。配置如下图所示。cat/etc/sysconfig/networ
- centos docker安装
你是人间五月天
dockercentosdockerlinux
一、前置条件安装gcc和c++:yum-yinstallgccyum-yinstallgcc-c++二、卸载旧版本如果之前安装过Docker,需要先卸载旧版本:sudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrot
- Ubuntu 编译和运行ZLMediaKit
深度视觉机器
Ubuntu20ubuntulinux运维
本文描述了如何在Ubuntu上构建ZLMediaKIt项目源码,以及如何体验其WebRTC推流和播放功能。实验环境操作系统版本:Ubuntu22.04.3LTSgcc版本:11.4.0g++版本:11.4.0依赖库安装#让ZLMediaKit媒体服务器具备WebRTC流转发功能的必备依赖包sudoaptinstallcmakepkg-configgccg++libssl-devlibsrtp2-d
- Ubuntu 多版本 gcc 配置常用命令备忘
Eloudy
linuxC++
用的频率不高,总忘记具体参数1,安装多版本gcc以gcc-11和12为例:sudoapt-getinstallgcc-11gcc-12sudoapt-getinstallgcc-11gcc-122,配置多版本gccgcc与g++一起配置进数据库中:sudoupdate-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-1111sudoupdate-a
- vscode中使用code-runner插件运行c程序语法报错code: 1
星沉大海@T
vscodec语言ide
代码intmain(){//定义变量a,赋值为10inta=10;//定义变量b,赋值为20intb=20;//定义变量c,将a和b相加的结果赋值给cintc=a+b;//输出c的值printf("%d",c);//返回0,表示程序正常结束return0;}问题:vscode中使用code-runner插件允许c程序报错:[Running]cd"d:\dev\c\study\"&&gccdemo1
- PostgreSQL查看版本信息
秦时明月之君临天下
PostgreSQLpostgresqllinux数据库
1.查看客户端版本psql--version2.查看服务器端版本2.1查看详细信息selectversion();--PostgreSQL10.17onx86_64-pc-linux-gnu,compiledbygcc(GCC)4.8.520150623(RedHat4.8.5-44),64-bit2.2查看版本信息showserver_version;--10.172.2查看数字版本信息包括小版
- Python3命令行交互不能使用方向键
一张假钞
linuxpython编程语言
个人博客地址:Python3命令行交互不能使用方向键|一张假钞的真实世界自定义安装Python3后在命令行使用方向键时出现以下问题:$python3Python3.7.4(default,Dec112019,17:40:08)[GCC7.4.0]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>^[[A^
- C语言---预处理
weixin_51790712
c语言开发语言
预处理#includehello.cgcchello.c//编译预处理(预编译)汇编(汇编语言)---助记符编程:人类语言--->编程语言(C语言)---汇编语言--->机器语言(01010)八位的单片机01010101//加法//0101010116位32位01010101010101010101010101010101//add64位main(){inta=1;intb=2;printf("h
- qt 学习路径和建议
enyp80
qt学习开发语言
学习Qt5需要结合理论学习和实践操作,以下是我提出学习路径和建议:1.掌握基础前提C++基础:熟悉C++语法、面向对象编程(类、继承、多态)、内存管理(Qt使用智能指针和父对象管理机制)。Qt安装与环境配置:安装QtCreator(官方IDE),配置编译环境(如MinGW/MSVC或Linux下的GCC)。2.系统学习Qt核心机制信号与槽(Signals&Slots):理解Qt的事件驱动模型,掌握
- linux如何避免内存泄露,Linux下正确使用getifaddrs()函数避免内存泄露
王玮滢
工作中使用valgrind检测内存泄露时,发现getifaddrs()很容易导致内存泄露,下面是正确的代码://getlocalipofnetworkcard//gcc-gget_addr.c-oget_addr//#include#include#include#include#include#include#include#include#includeintmain(intargc,char
- python中的ssl模块不能用_解决Python找不到ssl模块问题 No module named _ssl的方法
直江信纲二号机
python安装完毕后,提示找不到ssl模块:[
[email protected]~]$pythonPython2.7.15(default,Oct232018,18:08:43)[GCC4.4.720120313(RedHat4.4.7-23)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>imp
- 编译器简介
工程有解
有趣的编译器c++
为啥需要编译器?电脑,手机,嵌入式产品的处理器芯片,软件在上面运行的原理是0101二进制码组成的指令集;例如我们的应用是计算两个数的和,我们的程序如果用C++编写可能如下所示:intsum(inta,intb){returna+b;}在机器的世界里,只有电平信号,对应的逻辑值只有0与1二进制值,所以上面的文本能够被硬件执行,需要转换,这个过程就是编译器的工作,我们来看在x86硬件平台,GCC编译转
- 头歌实训 第1关:生产者与消费者问题
Shadow10260530
linuxubuntu
头歌实训第1关:生产者与消费者问题任务描述本关任务:程序4-1.c模拟了1个生产者和1个消费者,请改写该程序,模拟5个生产者和5个消费者,它们共享一个包含8个缓冲区的缓冲池。产品以4位编号,最高位表示生产者编号、其他表示该生产者的产品号,参考输出如下:知识多线程程序如何编译输入gcc-pthreadXX.c,编译成功后输入./a.out。pthread_create()函数原型intpthread
- 分布式部署文档 - jumpserver 部署
acuum86248
数据库git运维
说明#开头的行表示注释$开头的行表示需要执行的命令环境系统:CentOS7IP:192.168.100.30ProtocolServerNameIPPortUsedByTCPJumpserver192.168.100.3080,8080Nginx,Coco,Guacamole开始安装#升级系统$yumupgrade-y#安装依赖包$yum-yinstallgccepel-releasegit#设置
- mysql 5.7安装
*老工具人了*
数据库mysqladbandroid
基础环境:centos7.9创建日志存放目录mkdir-p/opt/supervisor/log安装相关工具yuminstall-yperlnet-toolsnumactlgccpython-devel配置yum源sudovim/etc/yum.repos.d/mysql-community.repo[mysql-connectors-community]name=MySQLConnectorsC
- FreeRTOS学习——heap4
小朱炖粉条
FreeRTOS学习嵌入式FreeRTOS内存管理
FreeRTOS学习——内存管理heap4,仅用于记录自己阅读与学习源码FreeRTOSKernelV10.5.1port:GCC/ARM_CM7参考:FreeRTOS:4.内存管理_freertosheap4内存管理-CSDN博客FreeRTOS内存管理之heap_4.c_freertosheap4源码解读-CSDN博客文章目录宏定义变量及声明函数prvHeapInitpvPortMallocv
- C++ 是一种功能强大且灵活的编程语言,广泛应用于系统编程、游戏开发、嵌入式系统和高性能计算等领域。
Kingdom_Garden
C++开发语言c++开发语言
1.安装C++编译器要编写和运行C++程序,你需要一个C++编译器。常用的编译器有:GCC(GNUCompilerCollection):适用于Linux和macOS。Clang:适用于macOS和Linux。MicrosoftVisualC++:适用于Windows。你可以通过以下方式安装编译器:Linux:使用包管理器安装GCC,例如sudoapt-getinstallg++。macOS:安装
- MOFid安装及使用
咸鱼啦啦
python经验分享conda材料工程
前提要求:1.安装Anaconda(https://www.anaconda.com/distribution/#download-section)。完成后打开,安装spyder(此处任意)。2.安装Cygwin(Cygwin),安装过程都是默认选项,最一步选择`cmake`,`make`,`wget`,`gcc-core`,`gcc-g++`,and`pkg-config`packages进行安
- java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
- Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
- 设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
- 读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
- js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
- erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
- JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
- POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
- 工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
- android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
- Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
- eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
- 【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
- Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
- bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
- 读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
- 常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
- 搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
- oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
- JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
- C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
- vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
- 14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
- 一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
- Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
- 第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
- Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
- 正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$