November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags

November 30th, 2006

dil: (Default)
Thursday, November 30th, 2006 03:05 pm
Дано: ASP/JScript.
Задача: выделить из строки первые три слова.

Пишем регулряное выражение:
var re = new RegExp("^(\\s*(\\S+\\s+){3})" , "")
str = str.replace(re, "$1")

Индейская национальная изба.

Целый час бился, и так, и эдак - ну не матчится, хоть тресни.
В конце концов оказалось, что по-майкрософтовски это надо писать так:
"^(\\s*(\\S+\\s+){3}).*"
или так:
"^(\\s*(\\S+\\s+){3}).*$"

С последними тремя словами все еще хуже. Это только так:
".*((\\s+\\S+){3}\\s*)$"

А вот так уже не:
"((\\s+\\S+){3}\\s*)$"
И что самое смешное, вот так тоже не:
"^.*((\\s+\\S+){3}\\s*)$"

Ну и как их после этого не назвать пиненатуралами?