re
- From
- Vitaly Mayatskih (2:5002/48.9)
- To
- Artem Chuprina
- Date
- 2005-06-02T21:15:10Z
- Area
- RU.PERL
hi, Artem!
01 Июн 05 21:17, Artem Chuprina пишет Vitaly Mayatskih следующее:
VM>> первом и/или третьем паттерне есть совпадение. Т.е. хочется
VM>> конструкцию типа [^...], только для выражения.
AC> В perldoc perlre искать negative look-ahead.
Да мне бы лучше подошло look-behind, но оно только fixed length, к
сожалению.
AC> Надеюсь, "или" ты выразить способен и сам... А если хочешь, чтоб на
AC> примере показали - покажи пример.
Есть, допустим, строка со сылкой, которую нужно выудить. Если это
html-ссылка, то не надо. Собственно говоря, 3-й паттерн не нужен, т.к. по
наличию 1-го понятно, что это html.
$line = 'lalala <a href="http://tra-lala.com">asd</a>';
$line =~ /
(?:\<a\s*href\s*=\s*[\'\"]\s*) # вот у этого бы результат инвертировать
(
(?:(?:ht|f)tp\:\/\/)
(?:[\w()'*~!.-]+)
)
/x
bye! http://vymz.narod.ru
--- Debian Sarge
* Origin: RLU #331092 (2:5002/48.9)
SEEN-BY: 450/208 452/25 100 454/9 455/15 461/33 74 106 640 464/34 465/204
SEEN-BY: 467/24 469/125 200 478/44 65 550/5068 4600/126 4614/9 4623/56 4625/9
SEEN-BY: 4626/100 4632/10 4635/99 1024 4641/444 4642/27 48 4657/50 5001/50
SEEN-BY: 5002/24 42 46 48 56 58 62 63 66 74 75 76 5002 5003/34 5010/53 146
SEEN-BY: 5011/13 5015/4 28 214 5020/52 115 128 133 150 175 486 600 642 744 794
SEEN-BY: 5020/921 958 968 982 1100 1169 1212 1234 1626 1642 1653 1826 1829
SEEN-BY: 5020/1930 2044 2200 2345 2908 4400 4441 5021/2 5023/11 5024/1 73
SEEN-BY: 5025/19 5026/47 5030/69 195 382 436 611 920 1016 1039 1520 1688
SEEN-BY: 5031/7 63 5032/11 20 5033/21 35 5034/8 5035/38 63 5036/13 5037/21 36
SEEN-BY: 5038/4 5040/33 47 5041/4 5045/7 42 5047/47 5049/6 157 5050/9 41
SEEN-BY: 5051/35 5053/16 38 5054/1 8 9 35 36 37 45 50 66 67 81 85 5055/177
SEEN-BY: 5056/16 5058/77 5059/2 9 20 5060/90 5062/4 7 5063/51 5064/7 35
SEEN-BY: 5070/26 66 5071/22 5075/37 5077/70 5079/49 5083/13 5090/23 105 5093/4
SEEN-BY: 5093/27 33 5096/18 5100/113 6023/1 6033/2727 6070/5
PATH: 5002/48 5002 5020/52 5054/1 37