2

このコード スニペットは、本 Mastering Regular Expressions からのものです。否定的な後読み (コメント # Not allowed to end with [.,?!]) で最後の部分を理解するのに苦労しています。その式はどのようにor[?!,.] から削除されますhttp://www.google.com/foo!http://www.google.com/bar\!?

# Turn HTTP URLs into links . . . 
$text =~ s{
   \b
   # Capture the URL to $1 . . . 
   (
      http:// [-a-z0-9]+(\.[-a-z0-9]+)*\.(com|edu|info) \b   # hostname
      (
         / [-a-z0-9_:\@&?=+,.!/~*'%\$]* # Optional path
         (?<![.,?!])    # Path not allowed to end with [.,?!]
      )?
   )
}{<a href="$1">$1</a>}gix;

print $text; # Finally, display the HTML-ized text.
4

2 に答える 2

4

ならない。オプションのパスが一致する式の一部であり、 にはパスがhttp://www.google.comないため、効果はありません。

于 2014-06-10T11:24:03.570 に答える