perl正则匹配

00. perl正则匹配的元字符 perl有12个特殊字符,在模式中不代表其自身,而是另有特殊含义,常被称为元字符(meta character):星号 *加号 +问号?大扩号?{}圆括号 ( )方括号 [ ]KaTeX parse error: Expected group after '^' at position 1: ^̲KaTeX parse error: Expected group after '^' at position 1: ^̲竖线 |反斜杠 \句点.尖角。 阅读详情

字符的种类是一定的,无非是空格,数字,大小写字母,-_+=和perl中定义的元字符,还有本国语言。所以原则上任何格式的字符都能匹配。

匹配工具:选择符号,关键字,量词,断言,转义字符

当出现多个字符组成的 非空格字符时候, 例如123,45-3_s_SDGG 则使用[0-9A-Za-z-_,]{1,} 若加上^$则只能匹配一行中仅有这些字符的且连贯组成的字符串。

转义字符/S可以使得匹配的范围加宽,使用时注意

使用断言可以使得匹配更为精确,但是有可能匹配不到。

在读程序时候,如果有else的时候,应当考虑什么时候else成立,凡是从正反两方面考虑,才不会出错。

 

perl 正则匹配多个 Vsftp:/root# cat k1.pl my $_='upDaTe'; if( $_ =~ /^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i){print "1111111111111\n";}; Vsftp:/root# perl k1.pl 1111111111111 阅读详情

相关推荐

Perl 多个正则匹配

#$_='{"code":0,"data":{"country":"台湾","country_id":"TW","area":"","area _id":"","region":"台湾省","region_id":"TW_01","city":"","city_id":"","county":"" ,"county_id":"","isp":"","isp_id":"-1","ip":"125.2

zhaoyangjian724的专栏 1273

Perl-用正则表达式进行匹配1

1. 用m//进行匹配 到目前为止,都是把正则表达式写在一对斜线内,比如/fred/,这是简写版本,完整写法是m//(模式匹配操作符),这里的m表示英文match(匹配),和之前看过的qw//类似,可以自行选择用于包围内容的一对字符作为边界 所以可以还可以改写成m(fred)、m<fred>、m{fred}、m[fred] 不成对定界符没有左右之分,模式2边用同样的字符界定即可 如果选择一对斜线作为定界符,则可省略开头的m 最常见的定界符是花括号 尖括号(<与>)不是正则表达式元字符

Arkardia的博客 3429

python与perl语言,字符串转义与正则匹配转义混合探究

前言 平时写脚本,经常会被正则匹配中的转义弄得头大,因此基于perl和python的字符串转义和正则匹配转义探究一下转义的规则。 字符串转义 脚本语言的字符串转义基本是通用的,菜鸟教程中罗列了一下基本的转义字符: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(B...

moon9999的博客 898

perl中的正则匹配

perl中的正则匹配

高锦的博客 8601

Verilog简易电梯控制系统(2层)

电梯处于1楼,按KEY3,LED3亮,电梯处于上行状态时,立刻按 KEY2,LED2亮,电梯继续运行至2楼,LED3灭;按KEY3,LED3亮,电梯处于上行状态时,立刻按 KEY0,LED0亮,电梯继续运行至2楼,LED3灭;电梯处于2楼,按KEY2,LED2亮,电梯处于下行状态时,立刻按 KEY3,LED3亮,电梯继续运行至1楼,LED2灭;电梯处于2楼,按KEY2,LED2亮,电梯处于下行状态时,立刻按 KEY1,LED1亮,电梯继续运行至1楼,LED2灭;电梯运行至2楼后LED1灭,2楼待机。

m0_54240221的博客 6952

华为灵衢UB总线介绍

华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。

技术引领业务创新 4417

强大的Perl正则表达式实例详解

正则表达式各语言都有自己的规范,但是基本都差不多,都是由元字符的组合来进行匹配;由于Nmap内嵌的服务与版本探测是使用的Perl正则规范,因此此篇博客记录一下Perl正则的相关内容,方便后期查阅。1)不同的场景、不同的语言,正则会有些许差别,只要掌握住基本的元字符以及相应的语言特性,真正用的时候花10几分钟时间熟悉一两个例子就能上手。3)在我理解,我们如果只是想达到我们抽取数据的目的,正则匹配的原理没有必要搞懂,会用就行。2)Perl正则是目前最优的,包括特性,建议读者学一学,这对处理数据有很大的好处。

sinat_40572875的博客 2866

STM32嵌入式开发实战:如何用miniLZO压缩算法节省70%存储空间(附完整工程)

本文详细介绍了如何在STM32嵌入式开发中使用miniLZO无损压缩算法实现高达70%的存储空间节省。通过对比分析不同轻量级算法,重点讲解miniLZO的内存优化配置、分块压缩策略和完整工程实现,帮助开发者有效解决嵌入式系统中的存储瓶颈问题。

ss78901的博客 881

Perl正则表达式(2) - 用正则表达式进行匹配

Perl正则表达式 2. 用正则表达式进行匹配 2.1 用 m// 进行匹配 到目前为止,我们都是讲正则表达式的内容写在一对斜线内,如/fred/。但其实这是 m// 的简写,其中m代表match,和之前看到的 qw// 类似,我么可以自行选择用于保卫内容的一堆字符作为边界,所以上面这个例子可以改写为m{fred},m[fred],m!fred!等。 在不冲突的情况下,建议使用双斜线 // 或 ...

追梦赤子心 4217

可微编程:当深度学习遇见物理定律,重塑科学计算新范式

本文探讨了可微编程如何将深度学习与物理定律相结合,重塑科学计算范式。通过自动微分技术,它将物理方程融入可微计算图,使模型在数据驱动的同时遵守物理约束。文章以神经常微分方程为例,阐述了其在连续系统建模、科学模拟器优化等领域的应用,并分析了当前面临的挑战与最佳实践路径。

weixin_29056145的博客 134

Android车载蓝牙开发全攻略:从基础到高级优化

本文系统介绍了Android车载蓝牙开发的核心技术与实践指南。文章首先阐述了蓝牙在智能汽车中的关键作用,包括免提通话、音频流媒体等应用场景。随后详细解析了蓝牙协议基础,重点介绍了HFP、A2DP等车载常用协议。开发实战部分提供了设备发现、连接、数据传输的完整代码示例,并融入多线程和内存优化技巧。通过真实车载案例,展示了启动时间、流畅度和资源使用的优化策略。最后针对面试需求,提供了专业的技术问答,涵盖蓝牙开发全流程。全文紧密结合Android车载开发职位要求,为开发者提供了一套完整的蓝牙技术解决方案。

郑伟强dev的专栏 117

Perl语言入门笔记 第八章 用正则表达式进行匹配

#用正则表达式进行匹配 =pod m// = // = m%%,m||,m<>,m{},m(),匹配的时候根据需要写自己的定界符,像qw省略双引号定界符一样 模式匹配修饰符: 跟在定界符后面的,//x,x就是模式匹配修饰符 i 忽略大小写 s 匹配任意字符 if(/Barney.*Fred/s){}#s会把//里面的.全部替换为[\d\D],这是需要再让.匹...

dietan8353的博客 482

《Android系统开发中高级定制专栏导读》

欢迎来到【Android 中高级系统定制】专栏!在这里,将深入探讨Android系统开发与定制的方方面面,涵盖从权限管理、驱动开发到系统应用配置等多个领域。

我其实什么都不会 1576

perl 正则模式匹配总结

 一.模式匹配操作符1.tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力      m/ /  s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力(当用单引号作为操作符时则不具备变量替换能力)s/ / / , tr/ / /  可以用两组不同的括号进行分割,以保证格式清晰s(good)2.绑定操作符 =~ , !~,m/ /  s/ / /  t

Chen13141的专栏 2633

Python爬虫实战:手把手教你园林植物分类全维度字典自动化采集实战!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 388

深度解析:LPDDR5 Receiver 的挑战与应对

LPDDR5 的数据速率已经来到Tbit​DataRate1​≈156ps在6400Mbps时也就是说,。👉 这就是为什么成为 LPDDR5 的“标配”。

weixin_43199439的博客 211

14. Perl 正则表达式-正则匹配

正则表达式(regular expression) 在Perl 里面通常也叫模式(Pattern). 正则表达式是用来匹配或不匹配某个字符串是否符合特定字符串模板的,也可以实现字符串的替换. 1. 正则匹配语法 Perl 的正则表达式语法非常灵活, 可以借助于内置变量$_ 进行简化, 也可以借助于m符号来自定义匹配定界符. 1.1 简写方式 简写模式使用内置变量$_与模式进行匹配. 标准模式无须...

Java 程序源 9702

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Perl 常用正则匹配

tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力 m/ /  s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力 $string = "25abc8"; $string =~ /abc(?=[0-9])/; (?=pattern) 前看声明,如果正则表达式在下一次匹配 pattern 风格,就开始匹配,而且不影响匹配效果.如/\w+(?=\t)/将匹配制

kwame211的博客 5925

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【perl正则匹配】

可以使用 system() 函数执行 Unix 命令, 执行该命令将直接输出结果。默认情况下会送到目前Perl的STDOUT指向的地方,一般是屏幕。如果进程退出时,会向父进程发送一个CHLD的信号后,就会变成僵死的进程,需要父进程使用wait和waitpid来终止。在父进程中返回子进程的PID,在子进程中返回0。signal是发送的数字信号,9为杀掉进程。使用反引号运算符可以很容易的执行 Unix 命令。exec 函数执行完引号中的命令后进程即结束。,那么开始和结束将会指字符串的每一行:每一行的开头就是。

lu20090288的博客 1155

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

perl正则表达式匹配

1.Perl正则表达式语法 所谓Perl正则表达式,就是一串特别设计过的字符串,可以按照你的意图用匹配操作寻找你要求的目标。我这里不是Perl手册,也不是教科书,所以我从例子开始,具体的完整说明还请查手册。 1.1转义符号\ 前面说过缺省情况下Perl正则表达式要用/包起来,那么现在要寻找一个字符串里面有没有/怎么办?不是有歧义了么那个表达式。换你设计Perl语言该咋办?玩过C语

willorfang的学习专栏 4686

perl正则的命名捕获与匹配变量使用

今天说的也算是perl正则表达式的一两点高级特性--命名捕获与匹配变量,如果能够掌握的话,对于提升能力和效率都有帮助。 #!/usr/bin/perl-w=pod命名捕获--给匹配上的内容加上标签捕获到的内容都会保存在%+散列中,这个散列的key为对应的标签;方便之处就是利于程序扩展和阅读,不用繁琐的一个一个去数括号来获取匹配变量=cutusestrict...

weixin_34254823的博客 984

Perl学习笔记(2)——模式匹配和正则表达式

模式匹配及正则表达式模式匹配模式匹配的特殊字符字符集模式匹配操作符锚位绑定操作符 =~模式串中的变量内插捕获变量用正则表达式进行文本处理文本替换split操作符join函数列表上下文中的m//在命令行执行Perl模式匹配和正则表达式的例子Perl 模式匹配 模式是指在字符串中寻找特定序列的字符或者说是一个 匹配(或不匹配)某字符串的模板,模式由反斜线包含。而一个** 正则表达式**,就是 用某种模式去匹配一类字符串的一个公式。 要进行复杂的模式,就需要借助于元字符和量词。 模式匹配的特殊字符 字符

zgezi的博客 3547

初识perl(二)——正则表达与模式匹配

正则表达式,模式匹配的常用内容。

weixin_58165606的博客 1307

Perl正则表达式 模式匹配

m运算符与匹配 修饰符 含义 i 关闭大小写敏感性 m 将字符串作为多行处理 o 只编译模式一次。用于优化搜索流程 s 嵌入换行符时,将字符串作为单行处理 x 允许在正则表达式中提供注释,并忽略空白字符 g 全局匹配,即查找所有具体值。如果用于数组型上下文语境,则会返回一个列表;如果用于标量型上下文语境,则返回真或假 s运算符与替换格式:s/ol

开发学习者 1848

【perl脚本】单行循环正则匹配

前言 今天就没有人能阻止我成为一名脚本工程师了! 场景 在一行字符串中循环查找匹配一类内容,并进行后续操作如替换等; 场景1:删除一段字符串中的数字 这类找到就删除的场景是最简单的,直接借助g就可以搞定了: #!/usr/bin/perl my $str = "hello 123joom, you have 988 error, 1992 warning"; my $res; $res = ($str =~ s/\d+//g); print "replace $res time: $st

moon9999的博客 1058

perl正则内置变量匹配

<br />arr="Olu|94785";<br />  $str="ORTHOMCL428(2 genes,2 taxa):  Olu|94871(Olu) Ota|35190(Ota)";<br />  if($str!~//Q$arr/E/(/)<br />  {<br />     print $arr,"/n";<br />  } <br /> <br />/Q /E可以消除变量中特殊的perl符号的作用

diana_cherry的专栏 595
上一篇: 解决一个模式匹配需求
下一篇: 好的编程习惯
serverone
博客等级 码龄18年 2粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值