Perl 正则表达式顺序

发布于 科技 2024-06-23
12个回答
  1. 匿名用户2024-01-29

    为了得到这些分数,我努力工作。

    首先,让我们解释一下结果:

    str = '"double-quoted \"string\042"'

    sum = '"double-quoted \"'

    然后解析正则表达式的意图:

    在最外层的括号内:

    str 的匹配尝试:" (\" |3 位数字 |除换行符外的所有字符)单个字符”。

    SUM 的匹配尝试:"(除换行符外的所有字符 |。 " |3 个数字)单字符”。

    必须理解的一个经验法则是,如果 perl 找到一个匹配项,除非你指定它需要继续匹配,否则它不会继续。 所以,$str的匹配就是这样" \"单字“,$sum的匹配简单来说"除换行符外的所有字符)单个字符”。

    于是$sum很快就找到了匹配对象。 当第二个冒号出现时,匹配项已经匹配。

    为什么$str能继续匹配? 因为它必须匹配" \" ",总共 3 个冒号。 这就是区别。

    最重要的一点是使用符号 |这不像你。 《寻找符号》中的珍珠 |一旦最左边的匹配被匹配,它将不会继续运行。 所以你的 |其余的内容根本不起作用......

    当然,就您提供的 $ 值而言,它不会运行,因为存在匹配项。

    打这么多字很累。 房东的常规表达太复杂了,更累了...... 为什么不能让它更简单?。。

  2. 匿名用户2024-01-28

    没什么好解释的,因为:

    1.其他人也进行了解释。

    2.你的常规脚本本身写得逻辑不清晰,我不想帮你分析乱七八糟的东西。

    3.如果您有兴趣,请亲自查看:

    教程]以 Python 中的 RE 模块为例,教你如何从头开始编写相对复杂的正则表达式。

    总之,我认为你应该学习正确的方法来编写精确和合乎逻辑的代码,而不是让别人帮你分析不清楚的逻辑。

    这里没有邮寄地址,请自己用谷歌搜索标题,可以找到发帖地址)。

  3. 匿名用户2024-01-27

    对于完整的 perl 语言,将 perl 正则表达式 ([a-z]) 替换为 $1 的过程如下。

    #!/usr/bin/perl

    string = 'q.';

    string =~ s/([a-z])\/$1/g;

    print "$string";

    运行结果 q

  4. 匿名用户2024-01-26

    例如,您可以使用 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 的行。

  5. 匿名用户2024-01-25

    总体而言,您提供的两个正则表达式都是有问题的。

    首先,您需要的正则表达式可以更改为更简单的表达式:[ w d]*(w d|\d\w)[\w\d]*

    其次,(?=.*\d)(?

    *[a-za-z])这个公式本身的写法很有问题,它匹配一个正则表达式或者后面包含数字或字母的字符,匹配时不包含它,但是这个字符是没有限制的,前面应该有一个正则表达式,即使有限制,理论上也不能匹配所有组合, 因为这个方法不包含匹配时?= 帖子内容。

    综上所述,不妨试试这个......[w\d]*(w\d|\d\w)[\w\d]*

    这考虑到了最极端的条件,并且仅包括前两个或后两个字符是一个字母和一个数字的情况。

  6. 匿名用户2024-01-24

    一个正则表达式的结果很多,没有固定的答案,比如[a-z a-z]+d$,即输入框必须由字母和数字组成。

  7. 匿名用户2024-01-23

    ?=.*表示您可以参加?

    这四个符号。

    这两个正则表达式并不相同。 第一种是验证字母和数字的组合,第二种是验证字母、数字加特殊字符(?)。=.*组合。

    第二种组合更符合现实中的密码,例如QQ的密码可以输入特殊字符。

  8. 匿名用户2024-01-22

    正则表达式:href="([^"]*)"[^>

    1 匹配链接地址,$2 匹配标题。

  9. 匿名用户2024-01-21

    你要把 (..)*

    更改为 (..)*就是这样。

  10. 匿名用户2024-01-20

    !,w 是一串非英文字母或数字,语法与 [ a-za-z0-9 ] 相同。

    s 不是空格,并且 [ n t f] b 的语法与不是数值且受数值限制的字符串 d 匹配

  11. 匿名用户2024-01-19

    $aaa =~ s/*//g

    s a b g 是模式匹配中的一种替换,即内容 a 被内容 b 替换,后面的 g 是全局的,即全部被替换。

    ab] 是出现的任何一个括号,是换行符,[n]* 是 0 或更多。

    总结一下:将$aaa中的所有换行符替换为空,即删除所有换行符。

  12. 匿名用户2024-01-18

    从所有$aaa中删除换行符和回车符。

相关回答
6个回答2024-06-23

ASP测试通过。

str="中国。 >>>More

4个回答2024-06-23

>>'(?ab).*d)',s)非贪婪模式,先在左边找到ab,然后开始0个字符,检查右边是否有d,如果不满足就反向获取一个字符,直到右边的字符d满足为止; >>>More

5个回答2024-06-23

e 's/:\+s\+/:/' -e 's/ /_/g'

第一次放置每一行"n 连续 : 和 m 后面的空格"替换为 :将此行中剩余的相似匹配项替换为 其中 n >= 1, m>=1 >>>More

11个回答2024-06-23

我个人认为最好分为两步,而不是渣合,供您参考。 >>>More

7个回答2024-06-23

d- d- d d:d:d标准日期加时间。 满意。