首页 新闻 会员 周边 捐助
1
回答数

已关闭问题 perl正则哪些量词有贪婪模式

{N} 是固定次数的匹配,所以它不会像 *、+、? 那样有贪婪和非贪婪两种模式(因为那些量词的匹配次数是可变的)。 我们通常不会说 {N} 是贪婪的,因为它没有选择匹配次数的余地。而像 {N,} 或
1
回答数

已关闭问题 日子切割,日志轮转有啥区别?

日志切割(Log Splitting) 将单个庞大的日志文件按规则分割成多个小文件(如按日期、大小)。 目的:避免单个文件过大(GB/TB级),便于查看、传输和分析。 日志轮转(Log Rotatio
1
回答数

回答被采纳 简单的正则匹配不上1

$str="abc123abcc12c34"; $str =~ /(?<=\d)[a-z]*/; print $&
1
回答数

已关闭问题 perl正则模式中可以使用变量替换,为什么还用qr对象

$str="hello worlds fapeche"; $pattern="w.*d"; $str =~ /$pattern/; print "$&\n"; 为什么还用: $str="hello w
1
回答数

已关闭问题 Perl 中的 $var =~ /pattern/

一次布尔测试 在标量上下文里,返回值是 true / false: 找到 → 1 没找到 → 空串(Perl 把空串当 false) $date =~ /regex/ # 问:$date 里出现过 r
1
回答数

已关闭问题 贪婪模式会回溯

会,贪婪量词一定会回溯,这是它的工作机制,而不是“可选优化”。
1
回答数

已关闭问题 groovy中"${it}"和(it)区别

groovy语法教程 collectEntries def parallelStageMap = paralel_dolist.collectEntries{ ["${it}"] : generate
0
回答数

已关闭问题 固化分组内部是可以回溯的

固化分组内部是可以回溯的,外部即()外面是不可以回溯,()内是可以的
1
回答数

回答被采纳 正则有\n解析

正则有\n解析,如果单行匹配,那么\n是要正则模式要匹配的;如果是多行, 那么每一行都是单独的,\n自动换行了,不需要再匹配\n,因为是多行的每一行匹配
1
回答数

已关闭问题 逆序否定环视

$str="abc123abcc12c34"; $str =~ /a.*(?<!\d)c/; # abc123abcc print "$&\n";
1
回答数

已关闭问题 正则断言不匹配

$test="fafa\niEFFa" $test =~ /(?=EF)/m; print $&; 无输出 而 $tet =~ /EF/m; print $&; 输出EF
1
回答数

已关闭问题 逆序环视中的逆序体现在哪里

$str="abc123abcc12c34"; 逆序环视,这里能逆序匹配成功,靠的是锚定括号后面的c $str =~ /a.*(?<=\d)c/; # abc123abcc12c print "$&\
1
回答数

已关闭问题 “+”修饰符本身不是占有模式,它只是一个普通的贪婪量词

+:表示“1次或多次”,默认是贪婪的,会尽可能多地匹配,允许回溯。 ++:才是占有模式,表示“1次或多次”,但不允许回溯(即匹配多少就是多少,不会给后面的表达式留机会)。
1
回答数

已关闭问题 正则回溯,回溯只发生

在正则表达式中,无论是贪婪还是非贪婪(惰性)匹配,一旦整个目标字符串匹配成功,匹配过程就结束了,不会进行多余的回溯。回溯只发生在匹配失败的情况下,用于尝试其他可能的匹配路径。
1
回答数

回答被采纳 贪婪没回溯例子

"abc11ddabc11" =~ =~/([a-z]*)([0-9]*)dd\1\2/ print "first group \1: $1\n"; print "second group \2: $
1
回答数

回答被采纳 Nested quantifiers in regex; marked by <-- HERE in m/^a\w+* <-- HERE 3/ at a.pl line 3.

[root@node1 ~]# cat a.pl !/usr/bin/perl $str="abc1234abc123"; $str =~ /^a\w+3/; print "$&\n" 那为什么\w+
1
回答数

已关闭问题 正则占有优先模式在防ReDoS攻击中的作用

占有优先模式在防ReDoS攻击中的作用,实际开发中很有用 ReDoS攻击的本质:灾难性回溯 核心问题: 某些正则表达式在匹配特定构造的恶意字符串时,引擎的回溯次数会呈指数级或阶乘级增长,导致CPU长时
1
回答数

已关闭问题 量词(quantifier)就是“规定前面的东西要出现多少次”的符号。

量词(quantifier)就是“规定前面的东西要出现多少次”的符号。 它只跟“前面的一个原子”搭配使用——原子可以是单个字符、字符类、分组、反向引用等 量词 等价写法 含义 示例 ? {0,1} 0
1
回答数

回答被采纳 perl的多行模式m,为什么我不加也能搜到

perl的多行模式m,为什么我不加也能搜到 不加m, \n这些转义序列都会转化控制字符,这个“afaf\nafafa” 整个字符串匹配,\n也是字符其中一员
1
回答数

回答被采纳 perl正则匹配加g参数,会死循环

while($name =~ /erw/){ print $& } 这种没有加g参数,会死循环,一直打印erw,perl
1
回答数

回答被采纳 元字符的理解

\n \t \r既然是转义序列,不是元字符,为什么有的编程语言能识别,有的正则能识别,有的都能识别,如\b,\s等
1
回答数

回答被采纳 总结下上面所有语言都空格换行处理

通用空白处理识别标准(适用95%+场景) ✅ 规则1:语法分隔符原则 所有语言中,空格/换行在语法单元之间仅作为分隔符,多余数量会被压缩: code print("Hello") + "World"
1
回答数

已关闭问题 \n和包含显示回车一样吗

前提都是linux: $name="afa dfa"; while($name =~ /fa/mg){ print $& } 中的: $name="afa dfa"; 和 $name="afa\ndf
1
回答数

已关闭问题 为什么这个perl可以输出,都没有多行模式m参数

$name="aadffdF \n erw" $name =~ /(?i:aadffdf)/\s*er/ print $& 为什么这个perl可以输出,都没有多行模式m参数
1
回答数

回答被采纳 \r,\n等属于正则表达式么

notepad++里面: ctrl+h会弹出一个框,里面查找模式有: 普通 扩展(\n,\r,\t,\0,\x...) 正则表达式 正则表达式不是包含扩展(\n,\r,\t,\0,\x...)么,这里