да да, я понял.
ну фишка таких проверок формальная, согласитесь. Актуально разве когда вы проверяете какие то данные з базы или что то подобное. Если вопрос локализации или что то подобное то лучше пусть лингвисти все слова вручную проверяют))
да да, я понял.
ну фишка таких проверок формальная, согласитесь. Актуально разве когда вы проверяете какие то данные з базы или что то подобное. Если вопрос локализации или что то подобное то лучше пусть лингвисти все слова вручную проверяют))
Если именно не com, а bcom, comd разрешается, то
(?!com)[a-z]+
По второму
0*[1-9]\d*|0,\d*[1-9]0*
----------- echo "Checking if Database exists..." if psql -v ON_ERROR_STOP=1 -U $PGUSER -h $DBHOST --list | grep -o -w $DBNAME then echo "Database already exists" else echo "Database not exists" psql -v ON_ERROR_STOP=1 -U $PGUSER -h $DBHOST -f install/cr_db.sql fi ----------- Замена значений в файле: perl -w -pi -e "s/username=\"postgres\"/username=\"$PGUSER\"/g" conf/context.xml ----------- Под Windows: ----------- Формирование версии ПО, включающего номер последнего changest в TFS: type %TFS_WORKFOLDER%\major_version.txt > c:\hudson\storage\version.txt tf.exe history $/ProjectsFolderPath /stopafter:1 /recursive /noprompt | grep -o -P \A\d+\s >> c:\hudson\storage\version.txt ----------- psql -U postgres --list | findstr /L %DB_NAME% IF NOT %ERRORLEVEL%==0 ( echo Running 0.sql... psql -v ON_ERROR_STOP=1 -U postgres -h %1 -f 0.sql ) grep под Windows взят здесь. findstr - встроенная команда Windows.
Ковырять древний исходник оказалось не то чтобы лень, а страшит необходимость вырезать то, что нужно показать, убрав не актуальное. :) Зато вот пример кода. Задача: есть шарпойнт 2007 портал проекта, на нём спринты в виде листа. В каждый спринт можно зайти, это страничка. На страничке даны истории спринта, в виде линков. Но вот беда - не даны ID (а куды ж без айди? тестовые значения сравнивать? так заносить их сложно, омжно опечататься). Зато айди есть в URL, вот так .../Lists/Stories/DispForm.aspx?ID=86 . Собственно, вот скрипт:
ipmo [path]\UIAutomation.dll;
[UIAutomation.Preferences]::Timeout = 20000;
Get-UIAWindow -n Sprints* | Get-UIAPane -n Sprints* | Get-UIAPane -n Sprints* | Get-UIAControlDescendants -ControlType Hyperlink | ?{($_ | Get-UIAHyperlinkText) -match "(?<=Stories[/]DispForm.aspx[?]ID[=])[\d]+(?=[^\d]?)";} | %{ "$(($_ | Get-UIAHyperlinkText).Substring(($_ | Get-UIAHyperlinkText).IndexOf("=") + 1))`t$($_.Current.Name)";}
Скрипт собирает на страничке гиперлинки, гиперлинки фильтрует по охвостью (на самом деле, влово Stories fактуально, потому что остальные линки будут вести на юзеров, или на продукт). Ну а потом выцепляет уже из строк номер истории и конкатенирует с названием истории. Получается список вида
1 _таб_ название_истории
2 _таб_ название_истории_2
P.S. Очень плохо работается в IE10 :( Приходится доредактировать посты в хроме или лисе.