文字列が数字で始まるかどうかを判断する必要があります-次のことを試してみましたが、役に立ちませんでした:
if (matches("^[0-9].*)", upper(text))) str = "Title"""
私は DXL と Regex を初めて使用します。何が間違っていますか?
文字列の先頭でのみ一致を示すには、キャレット文字が必要です。状況によっては必要ないかもしれませんが、すべての数字に一致するようにプラス記号を追加しました。最初に数字だけを探していて、その後に何かがあるかどうかを気にしない場合は、もう必要ありません。
string str1 = "123abc"
string str2 = "abc123"
string strgx = "^[0-9]+"
Regexp rgx = regexp2(strgx)
if(rgx(str1)) { print str1[match 0] "\n" } else { print "no match\n" }
if(rgx(str2)) { print str2[match 0] "\n" } else { print "no match\n" }
上記のコード ブロックは次のように表示されます。
123
no match
@mrhoboは正しいです。次のようなものが必要です:
Regexp numReg = "^[0-9]"
if(numReg text) str = "Title"
upper
数字を探しているだけなので、必要ありません。またmatches
、式に一致する文字列の部分を見つけるためのものです。文字列全体が式と一致することを確認したいだけの場合は、上記のコードの方が効率的です。
幸運を!