Regex VBScript正则表达式

Regex VBScript正则表达式,regex,vbscript,Regex,Vbscript,需要帮助构建VBScript正则表达式,该正则表达式检查有效的计算机名并仅返回无效字符。字符串只能包含数字、大小写字母和(-)符号。它不能以(-)开头或结尾,不能仅为数字 有效(不返回匹配项): 计算机 计算机8 8计算机 Com8计算机 计算机 计算机-123 无效(返回与无效字符的匹配): 123 -计算机 计算机- com*计算机 PC&123 类似这样的东西([0-9]|[a-zA-Z]){1,}[a-zA-Z0-9-]+([0-9]|[a-zA-Z]){1,}$/类似这样的东西([0-

需要帮助构建VBScript正则表达式,该正则表达式检查有效的计算机名并仅返回无效字符。字符串只能包含数字、大小写字母和(-)符号。它不能以(-)开头或结尾,不能仅为数字

有效(不返回匹配项):

计算机
计算机8
8计算机
Com8计算机
计算机
计算机-123

无效(返回与无效字符的匹配):

123
-计算机
计算机-
com*计算机
PC&123


类似这样的东西([0-9]|[a-zA-Z]){1,}[a-zA-Z0-9-]+([0-9]|[a-zA-Z]){1,}$/类似这样的东西([0-9]|[a-zA-Z]){1,}[a-zA Z0 9-+([0-9]|[a-zA-Z-Z]{1,$/

那么它应该是“^\w[\w-]{0,14}$”

该正则表达式满足除“is all number”之外的所有要求。这可以通过运行第二个正则表达式“^\d+$”来完成

代码:

Dim regexValid, regexNumber
Set regexValid = New RegExp
Set regexNumber = New RegExp

regexValid.Global = True
regexValid.IgnoreCase = True
regexNumber.Global = True
regexNumber.IgnoreCase = True

regexValid.Pattern = "^\w[\w\-]{0,14}$"
regexNumber.Pattern = "^\d+$"

Dim inputString
inputString = InputBox("Computer name?")

If regexValid.Test( inputString ) And Not regexNumber.Test( inputString ) Then
    ' It's a valid computer name string
Else
    ' It's invalid
End If
嗯,这是我今年写的第一个VBScript。

根据这个:VBScript有自己的正则表达式语法风格。请注意,NetBIOS计算机名称的长度限制为15

那么它应该是“^\w[\w-]{0,14}$”

该正则表达式满足除“is all number”之外的所有要求。这可以通过运行第二个正则表达式“^\d+$”来完成

代码:

Dim regexValid, regexNumber
Set regexValid = New RegExp
Set regexNumber = New RegExp

regexValid.Global = True
regexValid.IgnoreCase = True
regexNumber.Global = True
regexNumber.IgnoreCase = True

regexValid.Pattern = "^\w[\w\-]{0,14}$"
regexNumber.Pattern = "^\d+$"

Dim inputString
inputString = InputBox("Computer name?")

If regexValid.Test( inputString ) And Not regexNumber.Test( inputString ) Then
    ' It's a valid computer name string
Else
    ' It's invalid
End If

嗯,这是我今年写的第一个VBScript。

我最后切换了有效和无效的返回。我还使用了两个不同的正则表达式字符串。第一个是:

 ^[0-9a-zA-Z]{1,}[-]*[0-9a-zA-Z]{1,}$
这不允许在开头或结尾使用(-),需要所有数字、字母或(-)。它还需要至少两个字符的字符串

二是:

"[a-zA-Z]"

这样可以确保至少包含一个字母。

我最后切换了有效和无效返回。我还使用了两个不同的正则表达式字符串。第一个是:

 ^[0-9a-zA-Z]{1,}[-]*[0-9a-zA-Z]{1,}$
这不允许在开头或结尾使用(-),需要所有数字、字母或(-)。它还需要至少两个字符的字符串

二是:

"[a-zA-Z]"

这样可以确保至少包含一封信。

这封信很接近。在VBScript中,\w还包括u。但是,这很接近。在VBScript中,\w还包括u但是。