Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Ну, попробуйте (последние четыре элемента):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim arrDNSName
Dim elem


arrDNSName = Array( _
				"device.domain.zone", _
				"Device1.domain1.ru", _
				"device--2.domain.1.ru3", _
				"45-deVice.3.domain-4.5ru", _
				"45-deVice..domain-4.5ru", _
				"45-deVice.3.domain--4.5ru", _
				"45-deVice.3.domain-.5ru", _
				"45-deVice.3.-domain.5ru", _
				"45-deVice.3.domain-4.5ru.", _
				"dev_ice.domain.ru", _
				"dev__ice.domain.ru", _
				"_device.domain.ru", _
				"device_.domain.ru" _
			)

With WScript.CreateObject("VBScript.RegExp")
	.IgnoreCase = False
	
	For Each elem In arrDNSName
		.Pattern    = "^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9]))*$"
		
		If .Test(elem) Then
			.Pattern = "-{2,}"
			
			If Not .Test(elem) Then
				.Pattern = "_{2,}"
				
				If Not .Test(elem) Then
					WScript.Echo "Match:     " & elem
				Else
					WScript.Echo "Not match: " & elem
				End If
			Else
				WScript.Echo "Not match: " & elem
			End If
		Else
			WScript.Echo "Not match: " & elem
		End If
	Next
End With

WScript.Quit 0

Отправлено: 14:26, 15-03-2020 | #31