Использование RegExp в тестировании

да да, я понял.

ну фишка таких проверок формальная, согласитесь. Актуально разве когда вы проверяете какие то данные з базы или что то подобное. Если вопрос локализации или что то подобное то лучше пусть лингвисти все слова вручную проверяют))

Если именно не 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 :( Приходится доредактировать посты в хроме или лисе.