opera10, the show goes on |
[Dec. 6th, 2008|12:25 pm] |
регулярки хоть и шустрые, но completely broken.
/(^|\s+)\"([^\"]+?)\"(\s+|\$|\.|\,|\!|\?|\)|\;)/g
вот это нихуя теперь не работает. причём ломается на ([^\"]+?). просто не находит соответствия, хотя оно, очевидно, есть. потому у меня сломалась замена кавычек аглицких на лапки русские. причём жадный и нежадный вариант поломаны одинаково. то есть, скорее ranges убиты. или только negative ranges.
багрепорт филить не буду, стотыщмильёнов прежних моих багрепортов были проигнорены, не вижу, отчего бы стало по-другому в этот раз.
upd: да, поломаны именно ranges. при замене \"([^\"]+?)\" на \"(.+?)\" (что, очевидно, то же самое) всё заработало. операстам на заметку, так сказать. |
|
|
Comments: |
From: | 666 |
Date: | December 6th, 2008 - 12:35 pm |
---|
| | | (Link) |
|
а причем тут опера, откуда в ней перл?
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | December 6th, 2008 - 12:37 pm |
---|
| | | (Link) |
|
в стандарте ECMA-262 (или какой там, честно, лень смотреть, но это JavaScript) прописан объект RegExp, который обязан держать полные перловые регэкспы, только без подстановок-бэктрэйсов и условий. в опере10 они переписали движок регэкспов, и, по слухам, сильно ускорили (не могли купить вменяемый, что ли?). ускорить-то ускорили, но поломали. как минимум ranges — точно поломали.
![[User Picture]](http://lj.rossia.org/userpic/42310/215) | From: | do_ |
Date: | December 7th, 2008 - 04:10 am |
---|
| | | (Link) |
|
...ага, это, конечно, ларри волл регекспы придумал, кто же ещё.
From: | 666 |
Date: | December 7th, 2008 - 04:36 am |
---|
| | | (Link) |
|
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | December 7th, 2008 - 01:00 pm |
---|
| | | (Link) |
|
если не ошибаюсь, то нынешний уёбищный синтаксис — именно он. а вообще, регэкспы говно. Ъ используют PEG.
![[User Picture]](http://lj.rossia.org/userpic/204291/215) | From: | do_ |
Date: | December 7th, 2008 - 08:07 pm |
---|
| | | (Link) |
|
...новый синтаксис отличается от старого отсутствием слэша. Небольшое изменение, обллегчающее жизнь, не больше. | |