私は文字列内の数字と特殊文字を除外するためにJSONスキーマパターンに取り組んでいます、そしてこれが私が今持っているものです:
"properties": {
"applicationName": {
"description": "TPG Application Name",
"type": "string",
"pattern": "[^0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]"
},
これは意図したとおりに機能していません。たとえば、空白は許可されていません。
入力JSON:
{
"applicationName": "TestName",
}
"[^0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]"
パターンから判断すると、数字、空白、特殊文字(句読点と記号)以外の任意の文字に一致させる必要があります。ここでは、空白\s
は否定された文字クラス内に存在し、パターンは部分的に一致しているため、一致できません。つまり、セットにリストされている文字以外の文字を含む文字列を検証します。?a!
あるので一致しますa
、例えば
最も簡単な解決策は、文字列の最初から最後まで、文字と空白を一致させることです。
"^[A-Za-z\\s]*$"
詳細
^
-文字列の開始[A-Za-z\\s]*
-0文字以上または空白$
-文字列の終わり。この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加