0

文字列または数字で始まる特定の値を確認する方法。ここにコードを添付しました。idendifierが期待されるようにエラーが発生しています。

code
----
 Dim i As String
 dim ReturnValue  as boolean
    i = 400087
    Dim s_str As String = i.Substring(0, 1)

   Dim regex As Regex = New Regex([(a - z)(A-Z)])
    ReturnValue = Regex.IsMatch(s_str, Regex)




error 

regx is type and cant be used as an expression
4

4 に答える 4

3

変数はregexRegex変数のタイプです。

つまり、次のようになります。

ReturnValue = Regex.IsMatch(s_str, regex)

しかし、正規表現にも欠陥があります。文字、範囲、スペースなどに[(a - z)(A-Z)]完全に一致する文字クラスを作成しています。()-azA-Z

文字を一致させたいように私には見えます。そのためには、それを使用\p{L}します。これは、任意の言語の文字である任意の文字に一致するUnicodeプロパティです。

Dim regex As Regex = New Regex("[\p{L}\d]")
于 2012-11-19T09:43:26.807 に答える
2

多分あなたは意味します

Dim _regex As Regex = New Regex("[(a-z)(A-Z)]")
于 2012-11-19T09:43:45.807 に答える
2
Dim regex As Regex = New Regex([(a - z)(A-Z)])
ReturnValue = Regex.IsMatch(s_str, Regex)

大文字と小文字の違いに注意してください。を使用してくださいregex.IsMatch。また、正規表現文字列を引用する必要があります"[(a - z)(A-Z)]"


最後に、その正規表現は意味がありません。文字列の任意の文字または開き/閉じ括弧に一致しています。

^文字列の先頭で一致させるには、次のような開始アンカーを含める必要があり^[a-zA-Z]ます。文字列の先頭で任意のASCII文字と一致します。

于 2012-11-19T09:44:01.043 に答える
2

文字列が文字または数字で始まるかどうかを確認します。

ReturnValue = Regex.IsMatch(s_str,"^[a-zA-Z0-9]+")

正規表現の説明:

^           # Matches start of string
[a-zA-Z0-9] # Followed by any letter or number
+           # at least one letter of number

ここで実際の動作を確認してください。

于 2012-11-19T09:44:42.187 に答える