首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Perl中跳过非空格或数字的行?

在Perl中,您可以使用正则表达式来匹配非空格或数字的行,并使用next语句跳过这些行。以下是一个示例代码:

代码语言:perl
复制
#!/usr/bin/perl

use strict;
use warnings;

while (<>) {
    next if /^[^0-9\s]+$/;
    print;
}

这段代码将读取输入行,并使用正则表达式/^[^0-9\s]+$/来匹配非空格或数字的行。如果当前行匹配这个正则表达式,则使用next语句跳过这一行。否则,将输出这一行。

在这个示例中,我们使用了<>操作符来读取输入行。如果您想要从文件中读取输入,可以使用以下代码:

代码语言:perl
复制
#!/usr/bin/perl

use strict;
use warnings;

open(my $fh, "<", "input.txt") or die "Can't open input.txt: $!";

while (<$fh>) {
    next if /^[^0-9\s]+$/;
    print;
}

close($fh);

这段代码将打开名为input.txt的文件,并从中读取输入行。其他部分的代码与前面的示例相同。

总之,您可以使用正则表达式和next语句来跳过非空格或数字的行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数字逻辑运算规律_执行逻辑与运算

大家好,又见面了,我是你们朋友全栈君。 目录 1. 与(AND) 2. (OR) 3. (NOT) 4. 异(XOR) 5. 同(XNOR) 6. 与(NAND) 7....(NOR) 计算机逻辑运算又被称作为“布尔运算”,分别为:逻辑与运算、逻辑运算,逻辑运算,“逻辑异运算。此外在门电路还有:同运算、与运算、运算。共七种。...与(NAND) 逻辑与运算,运算规则:先与后(全一为零,有零为一)。也就是将两个操作数先进行“逻辑与运算”,对与“运算结果值”再进行“逻辑运算”,产生最终结果。...(NOR) 逻辑运算,运算规则:先(全零为一,有一为零)。也就是将两个操作数先进行“逻辑运算”,对“运算结果值”再进行“逻辑运算”,产生最终结果。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

4.3K10

浅谈Perl正则表达式

当一各单词间空格多于一个时,可以如下分割: @array=split(/+/,$line); 注:split函数每次遇到分割Perl正则表达式模式,总是开始一个新单词,因此若$line以空格打头...^表示除其之外所有字符,:/d[^deE]f/匹配d加e字符加f字符串。 3、字符*和? 它们与+类似,区别在于*匹配0个、1个多个相同字符,?匹配0个1个该字符。...11、指定选项 字符”|”指定两个多个选择来匹配Perl正则表达式模式。:/def|ghi/匹配defghi。 例:检验数字表示合法性 if($number=~/^-?\d+$|^-?...3、将字符串看作多行(m选项) 在此情况下,^符号匹配字符串起始起始;$符号匹配任意末尾。...翻译操作符选项如下: 选项描述 c翻译所有未指定字符 d删除所有指定字符 s把多个相同输出字符缩成一个 $string=~tr/\d//c;把所有数字字符替换为空格

1K30
  • Vim给文件加行号,这通惊为天人操作没sei了!文末天书慎点

    本文展示了如何将行号插入到正文中,或者只插入到段落。此外,还提供了打印行号选项(Vim 可以打印带有数字,并且不需要文件有数字)。 ?...模式 ^ 匹配每一开头,\= 表达式使用 printf() 来格式化当前行数字: %-4d 是一个左对齐整数, 如果需要,可以通过在4列宽度添加空格来填充, %4d 是右对齐,%04d...如果您只想给空行编号(它会找到一开头,后面跟着一个不是空格字符),请使用以下代码: :'s/^\S/\=printf("%d.....") - line("'<") + 1) 在上面的代码,空白被计数,但是没有插入数字(如果第4是空,那么插入数字将是1、2、3、5、6)。...此外,在选择任何之前,需要设置第一个行号值。输入以下内容: :let i = 1 nl 指令 在基于Unix系统,number lines 工具可以通过过滤整个缓冲区来插入数字: :%!

    2.5K20

    vim 正则表达式

    本文下面使用元字符都是 magic 模式下。 量词 vim量词与perl相比一点也不逊色。 vim Perl 意义 * * 0个多个(匹配优先) \+ + 1个多个(匹配优先) \?...0个多个(忽略优先) \{-1,} +? 1个多个(忽略优先) \{-,1} ?? 0个1个(忽略优先) 从上表可见,vim忽略优先量词不像perl *? +? ??...: 捕获型括号 和perl稍有不同是,vim环视和固化分组模式位置与perl不同。...可以使用-表示字符范围, [a-z0-9]匹配小写字母和阿拉伯数字。 [^abc] 在方括号内开头使用^符号,表示匹配除方括号字符之外任意字符。...匹配包含换行在内所有字符 \{-} 表示前一个字符可出现零次多次,但在整个正则表达式可以匹配成功前提下,匹配字符数越少越好 \= 匹配一个可有可无项 \_s 匹配空格断行 \_[]

    1.4K30

    正则表达式

    正则表达式(Perl Regular Expression 又叫 Perl RegEx 简称 PREs) Linux 常用工具与正则关系 grep 是一个文本过滤工具,它是基于过滤 grep 指令后不跟任何参数...匹配任意单个字符 [ ] 匹配指定范围内任意单个字符 [^ ] 匹配指定范围外任意单个字符 [:alnum:] 匹配任意数字字母 [:alpha:] 匹配任意英文大小写字母 [:upper...:] 匹配可打印空白字符 [:print:] 匹配可打印字符 [:punct:] 匹配任意标点符号 [^[:alpha:]] 匹配单个字母字符 [^[:digit:]] 匹配单个数字字符...\> 匹配整个单词 \B 匹配单词边界,与 \b 相反 分组引用 字符 说明 备注 \( \) 分组 $1,$2 引用 在分组,一个括号为一组,$1 开始,$2,$3… 扩展正则表达式 字符匹配...0-9数字 \D 匹配任意单个数字字符 \t 匹配单个横向制表符,相当于一个tab键 \s 匹配单个空白字符,包括空格、tab键 \S 匹配单个空白字符 \n 匹配换行符 \w 匹配

    7010

    Perl正则表达式超详细教程

    所以,我把如何使用perl正则来匹配数据放在最开头介绍,包括匹配指定字符串、匹配变量、匹配标准输入(管道传递数据)以及匹配文件每一数据,而且后文我假设各位和我当初一样,完全没有perl语言基础...,对于需要参数函数表达式,但却没有给参数,这是将会使用perl默认参数变量$_。...默认全局匹配情况下,匹配时是可以跳过匹配失败字符继续匹配:当某个字符匹配失败,它会后移一位继续去匹配,直到匹配成功匹配结束。...=\d)表示当前字符右边是一个数字时就满足条件 (?!...):表示顺序环视取反。(?!\d)表示当前字符右边不是一个数字时就满足条件 (?<=...):表示从右向左逆序环视。例如(?...<=\d)表示当前字符左边是一个数字时就满足条件 (?<!)...:表示逆序环视取反。(?<!

    6.2K30

    正则表达式详解

    请注意在逗号和两个数之间不能有空格。    5、定界符:边界 用来描述字符串单词边界,^和$分别指字符串开始与结束,\b描述单词后边界,\B表示单词边界。...是匹配。    在该模式字母(o-n-c-e)是字面的字符,也就是说,他们表示该字母本身,数字也是一样。其他一些稍微复杂字符,标点符号和白字符(空格、制表符等),要用到转义序列。...(点,句号)在正规表达式中用来表示除了“新”之外所有字符。所以模式"^.5$"与任何两个字符、以数字5结尾和以其他“新”字符开头字符串匹配。模式"."...PERL兼容正则可以使用任何不是字母、数字反斜线(/)字符作为定界符,如果作为定界符字符必须被用在表达式本身,则需要用反斜线转义。...PERL兼容正则可能使用修正符(修正符空格和换行被忽略,其它字符会导致错误): i (PCRE_CASELESS): 匹配时忽略大小写。

    1.4K10

    grep中使用d匹配数字不成功原因

    在很多文本编辑器其他工具里,正则表达式通常被用来检索和/替换那些符合某个模式文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大正则表达式引擎。...RegEx python RegEx Perl regEx 转义 \ \ \ \ ^ 匹配首,例如'^dog'匹配以字符串dog开头(注意:awk 指令,'^'则是匹配字符串开始) ^ ^...] [^A-Za-z] [^A-Za-z] \d 匹配从 0 到 9 任意一个数字字符(等价于 [0-9]) 不支持 不支持 \d \d \D 匹配数字字符(等价于 [^0-9]) 不支持 不支持...\B 匹配单词边界,例如:'er\B' 能匹配 "verb" 'er',但不能匹配"never" 'er' \B \B \B \B \b 匹配一个单词边界,也就是指单词和空格位置,例如:...表示对所获取匹配引用 不支持 \num \num [:alnum:] 匹配任何一个字母数字([A-Za-z0-9]),例如:'[[:alnum:]] ' [:alnum:] [:alnum:]

    4K10

    这些 grep 常用技巧你都会吗?

    grep 使用 Perl 正则表达式 使用 -P 选项可以让grep使用Perl正则表达式而不是基本正则表达式。Perl正则表达式更强大,可以支持更多特性,例如贪婪匹配和后向引用。...例如: grep -P '\d{3}-\d{2}-\d{4}' myfile.txt 这个例子使用了Perl正则表达式,在文本文件搜索包含美国社会保险号码。...例如,grep -P '\w+' myfile.txt 将匹配任何包含一个多个字母字符。 匹配空白字符:\s代表任何空格字符(包括空格、制表符和换行符)。...例如,grep -P '\s+' myfile.txt将匹配任何包含一个多个空格字符。 匹配首和行尾:^代表首,代表行尾。...例如,grep -P '\w+' myfile.txt 将匹配任何包含一个多个字母字符。 匹配空白字符:\s代表任何空格字符(包括空格、制表符和换行符)。

    1.3K40

    GolangRegExp正则表达式用法指南

    匹配“字符类”外一个字符,“字符类”见后面的说明 \小写Perl标记 匹配“Perl类”一个字符,“Perl类”见后面的说明 \大写Perl标记...匹配“Perl类”外一个字符,“Perl类”见后面的说明 [:ASCII类名:] 匹配“ASCII类”一个字符,“ASCII类”见后面的说明 [:^ASCII...匹配数字 (相当于 \D) [^\D] 匹配数字 (相当于 \d) [[:name:]] 命名“ASCII 类”包含在“字符类” (相当于...(text, -1)) // ["Hello" "Go"] // 查找首以 H 开头,以空格结尾字符串 reg = regexp.MustCompile(`^H....\E`) fmt.Printf("%q\n", reg.FindAllString(text, -1)) // ["Go."] // 查找从首开始,以空格结尾字符串(贪婪模式) reg

    7.2K30

    PERL学习笔记---正则表达式应用

    这同字处理软件“全字匹配(match whole words only)”是类似的。 ◆某些正则表达式实现开头锚定和结尾锚定不同,但Perl 均使用\b。...这些单词(words)不是你或者我通常认为那样;它们是\w 类型,由通常字母,数字,下划线组成。\b 将从开头结尾 匹配这些\w 类型字符。 词界锚定为\B。...$4 是指第四对括号所匹配字符串◆。 ◆这和后引用(backreference)\4 在模式匹配引用字符字符串相同。...\n”; } 匹配部分是“there,”(空格,单词,和一个逗号)。变量$1 值为there,而$&为整个被匹配部分。 匹配部分前一部分存放在$`之中,后一部分被存到$'。...三个变量值可能是空,和之前数字匹配变量例 子一样。它们和数字匹配变量有相同作用域。通常,在下次成功匹配前其值不变。

    68930

    posix,perl正则表达式区别

    PERL兼容正则可以使用任何不是字母、数字反斜线(\)字符作为定界符,如果作为定界符字符必须被用在表达式本身,则需要用反斜线转义。也可以使用(),{},[]和 作为定界符。...PERL兼容正则可能使用修正符(修正符空格和换行被忽略,其它字符会导致错误): i (PCRE_CASELESS): 匹配时忽略大小写。...D(PCRE_DOLLAR_ENDONLY): 如果设定了此修正符,模式结束($)仅匹配目标字符串结尾。没有此选项时,如果最后一个字符是换行符的话,也会被匹配在里面。...\ddd 八进制代码为 ddd字符, backreference \d 任一十进制数字 \D 任一十进制数字符 \s 任一空白字符 \S 任一空白字符 \w 任一数字、字母下划线字符 \...W 任一数字、字母下划线字符 \b 字分界线 \B 字分界线 \A 目标的开头(独立于多行模式) \Z 目标的结尾位于结尾换行符前(独立于多行模式) \z 目标的结尾(独立于多行模式) \G

    1.3K20

    Perl在ASIC应用——高级篇(1):正则表达式

    从今天开始,我们介绍Perl在ASIC应用高级篇。高级篇主要介绍正则表达式、module、package、面向对象、进程等。 正则表达式最常见有两个应用,高级查找和替换。...等,表示这些字符本身 \b 匹配单词边界 \B 单词边界 \d 数字,就是0-9任一个字符 \D 数字 \w 匹配大小写字母和下划线 \W 大小写字母和下划线...\s 匹配空白字符,包括空格、制表符等 \S 空白字符 \n 换行符,ASCII0x0A \t 制表符 \x \x后接十六进制数,匹配这个数ASCII符号 分类二...#通过脚本确认当前目录是否是项目根目录 } Perl正则表达式是非常博大精深,需要在工作慢慢积累。...分享芯片数字集成电路设计经验和方法。Sharing makes work smoother.

    1.8K20

    Linux系统开发: linux下正则表达式

    ,awk,^则是匹配字符串开始 ^name匹配以name开头 $ $ $ 匹配行尾,awk,$则是匹配字符串结尾 注意:^$表示匹配空白 sh$匹配以sh结尾 . . ....BREs EREs PREs 描述 实例 [:alnum:] [:alnum:] [:alnum:] 匹配任意一个字母数字字符 [[:alnum:]]匹配所有带任意一个数字字母 [:alpha:...] [:alpha:] [:alpha:] 匹配任意一个字母字符 [[:alpha:]]匹配所有带任意一个字母 [:blank:] [:blank:] [:blank:] 匹配空格制表符(\t、\...v) [[:blank:]]匹配所有带空格制表符 [:digit:] [:digit:] [:digit:] 匹配任意一个数字字符 [[:digit:]]匹配所有带任意一个数字字符 [:xdigit...BREs EREs PREs 描述 \b \b \b 单词边界 \B \B \B 单词边界 \w \w \w 单个单词字符(字母、数字、_) \W \W \W 单个单词字符 不支持 不支持 \d 单个数字字符

    1.4K10

    vim 常用命令

    k 上移一个字符 j 下移一个字符 以上四个命令可以配合数字使用,比如20j就是向下移动20,5h就是向左移动5个字符,在Vim,很多命令都可以配合数字使用,比如删除10个字符10x...^ 移动到本行第一个空白字符上。 0(数字0)移动到本行第一个字符上, 移动到本行第一个字符。同0健。 移动到行尾3 移动到行尾 3 移动到下面3行尾 gg 移动到文件头。...注释命令 perl程序#开始行为注释,所以要注释某些,只需在行首加入# 3,5 s/^/#/g 注释第3-5 3,5 s/^#//g 解除3-5注释 1,$ s/^/#/g 注释整个文档...,某个模式下帮助用模式_主题模式 帮助文件位于||之间内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回 其他编辑命令 ....:set list 显示非打印字符,tab,空格,行尾等。

    1.4K21
    领券