API から正規表現を取得していますが、多くの場合、^ で始まり $ で終わります (たとえば^-?[0-9]+$
)。Lexer Error
angularは文字列にデフォルトで ^ と $ を追加するため、正規表現を文字列として ng-pattern に配置するだけで、になります。
- 式が RegExp オブジェクトに評価される場合、これが直接使用されます。
- 式が文字列に評価される場合、^ および $ 文字でラップした後、正規表現に変換されます。たとえば、「abc」は新しい RegExp('^abc$') に変換されます。
それでは、正規表現文字列を正規表現オブジェクトに変換してみましょう。だから私はこれを試しました:
json.data.data[i].validateRegex = new RegExp(json.data.data[i].validateRegex, "g");
しかし、別のエラーが発生します:
Error: ngPattern:noregexp
Expected Regular Expression
Expected {} to be a RegExp but was {}.
正規表現を ng-pattern で動作させるにはどうすればよいですか? できれば正規表現から ^ と $ を削除せずに。