Вы можете использовать отрицательный прогноз, чтобы утверждать, что прямо справа не 14-кратная цифра перед сопоставлением с точкой:
^(?!(?:[^.\s\d]*\d){14})-?\d+(?:,\d{1,3})*(?:\.\d{1,4})?$
Объяснение
^
Начало строки -?
Необязательный дефис (?!
Отрицательный прогноз, утверждайте, что ниже не (?:[^.\s\d]*\d){14}
Совпадение не цифра , пробел символ или точка 14 раз )
Закрыть прогноз \d+
Совпадение с 1 + цифрами (?:,\d{1,3})*
Совпадение, 1 -3 цифры и повторение 0+ раз (или используйте \d+
) (?:\.\d{1,3})?
Необязательная часть, соответствует точке и 1-4 цифрам $
Конец строки [1120 ] Можно использовать powershell сценарий для выполнения этого.
Получать-сеть http://www.msn.com/-toFile www.msn.com.html
function Get-Web($url,
[switch]$self,
$credential,
$toFile,
[switch]$bytes)
{
#.Synopsis
# Downloads a file from the web
#.Description
# Uses System.Net.Webclient (not the browser) to download data
# from the web.
#.Parameter self
# Uses the default credentials when downloading that page (for downloading intranet pages)
#.Parameter credential
# The credentials to use to download the web data
#.Parameter url
# The page to download (e.g. www.msn.com)
#.Parameter toFile
# The file to save the web data to
#.Parameter bytes
# Download the data as bytes
#.Example
# # Downloads www.live.com and outputs it as a string
# Get-Web http://www.live.com/
#.Example
# # Downloads www.live.com and saves it to a file
# Get-Web http://wwww.msn.com/ -toFile www.msn.com.html
$webclient = New-Object Net.Webclient
if ($credential) {
$webClient.Credential = $credential
}
if ($self) {
$webClient.UseDefaultCredentials = $true
}
if ($toFile) {
if (-not "$toFile".Contains(":")) {
$toFile = Join-Path $pwd $toFile
}
$webClient.DownloadFile($url, $toFile)
} else {
if ($bytes) {
$webClient.DownloadData($url)
} else {
$webClient.DownloadString($url)
}
}
}
Я не знаком ни с какими командами в Windows, который может сделать это, но я всегда загружаю GNU wget в Windows в этих и подобных целях.
ЗАВИХРЕНИЕ приходит на ум.
curl -o homepage.html http://www.apptranslator.com/
Эта команда загружает страницу и хранит ее в файл homepage.html. Тысячи доступных опций.
Я не могу помнить утилиту командной строки за это. Возможно, можно реализовать что-то подобное использование JavaScript (с WinHttpRequest) и выполнение его как этот:
wscript your_script.js
Или просто установите msys с wget.