-
为了得到这些分数,我努力工作。
首先,让我们解释一下结果:
str = '"double-quoted \"string\042"'
sum = '"double-quoted \"'
然后解析正则表达式的意图:
在最外层的括号内:
str 的匹配尝试:" (\" |3 位数字 |除换行符外的所有字符)单个字符”。
SUM 的匹配尝试:"(除换行符外的所有字符 |。 " |3 个数字)单字符”。
必须理解的一个经验法则是,如果 perl 找到一个匹配项,除非你指定它需要继续匹配,否则它不会继续。 所以,$str的匹配就是这样" \"单字“,$sum的匹配简单来说"除换行符外的所有字符)单个字符”。
于是$sum很快就找到了匹配对象。 当第二个冒号出现时,匹配项已经匹配。
为什么$str能继续匹配? 因为它必须匹配" \" ",总共 3 个冒号。 这就是区别。
最重要的一点是使用符号 |这不像你。 《寻找符号》中的珍珠 |一旦最左边的匹配被匹配,它将不会继续运行。 所以你的 |其余的内容根本不起作用......
当然,就您提供的 $ 值而言,它不会运行,因为存在匹配项。
打这么多字很累。 房东的常规表达太复杂了,更累了...... 为什么不能让它更简单?。。
-
没什么好解释的,因为:
1.其他人也进行了解释。
2.你的常规脚本本身写得逻辑不清晰,我不想帮你分析乱七八糟的东西。
3.如果您有兴趣,请亲自查看:
教程]以 Python 中的 RE 模块为例,教你如何从头开始编写相对复杂的正则表达式。
总之,我认为你应该学习正确的方法来编写精确和合乎逻辑的代码,而不是让别人帮你分析不清楚的逻辑。
这里没有邮寄地址,请自己用谷歌搜索标题,可以找到发帖地址)。
-
对于完整的 perl 语言,将 perl 正则表达式 ([a-z]) 替换为 $1 的过程如下。
#!/usr/bin/perl
string = 'q.';
string =~ s/([a-z])\/$1/g;
print "$string";
运行结果 q
-
例如,您可以使用 join。
open file, $filename
or die “can’t open ‘$filename’:
my $lines = join '', ;
lines =~ s/^/$filename: /gm;
或者有一个循环。
open(a,"file");
while()
上面的脚本只打印出 aaa 和 bbb 之间的行。
open(a,"file");
while()
上面的脚本打印出从 aaa 到 bbb 的行。
-
总体而言,您提供的两个正则表达式都是有问题的。
首先,您需要的正则表达式可以更改为更简单的表达式:[ w d]*(w d|\d\w)[\w\d]*
其次,(?=.*\d)(?
*[a-za-z])这个公式本身的写法很有问题,它匹配一个正则表达式或者后面包含数字或字母的字符,匹配时不包含它,但是这个字符是没有限制的,前面应该有一个正则表达式,即使有限制,理论上也不能匹配所有组合, 因为这个方法不包含匹配时?= 帖子内容。
综上所述,不妨试试这个......[w\d]*(w\d|\d\w)[\w\d]*
这考虑到了最极端的条件,并且仅包括前两个或后两个字符是一个字母和一个数字的情况。
-
一个正则表达式的结果很多,没有固定的答案,比如[a-z a-z]+d$,即输入框必须由字母和数字组成。
-
?=.*表示您可以参加?
这四个符号。
这两个正则表达式并不相同。 第一种是验证字母和数字的组合,第二种是验证字母、数字加特殊字符(?)。=.*组合。
第二种组合更符合现实中的密码,例如QQ的密码可以输入特殊字符。
-
正则表达式:href="([^"]*)"[^>
1 匹配链接地址,$2 匹配标题。
-
你要把 (..)*
更改为 (..)*就是这样。
-
!,w 是一串非英文字母或数字,语法与 [ a-za-z0-9 ] 相同。
s 不是空格,并且 [ n t f] b 的语法与不是数值且受数值限制的字符串 d 匹配
-
$aaa =~ s/*//g
s a b g 是模式匹配中的一种替换,即内容 a 被内容 b 替换,后面的 g 是全局的,即全部被替换。
ab] 是出现的任何一个括号,是换行符,[n]* 是 0 或更多。
总结一下:将$aaa中的所有换行符替换为空,即删除所有换行符。
-
从所有$aaa中删除换行符和回车符。
>>'(?ab).*d)',s)非贪婪模式,先在左边找到ab,然后开始0个字符,检查右边是否有d,如果不满足就反向获取一个字符,直到右边的字符d满足为止; >>>More
e 's/:\+s\+/:/' -e 's/ /_/g'
第一次放置每一行"n 连续 : 和 m 后面的空格"替换为 :将此行中剩余的相似匹配项替换为 其中 n >= 1, m>=1 >>>More