SFDCも正規表現があり、
さらに正規表現を使用してテキストを検索できる Pattern と Matcher があります
今回、これらを使う時に発生したエラーを共有します。
それの解消方法も
欲しけりゃくれてやる・・・。
探せ!
この世の全てをそこに置いてきた〜笑
目次
使用例
一般的に
すべての正規表現は文字列として指定されます。
ほとんどの正規表現は、まず Pattern オブジェクトにコンパイルされます。
String split メソッドのみがコンパイルされていない正規表現を扱うことができます。
一般的に、正規表現を Pattern オブジェクトにコンパイルすると、
Pattern オブジェクトが使用されるのは Matcher オブジェクト作成時の 1 回のみです。
その他の処理は Matcher オブジェクトを使用して実行されます。次に例を示します。
//パターンのインスタンス Pattern MyPattern = Pattern.compile('a*b'); // マッチャーのインスタンス Matcher MyMatcher = MyPattern.matcher('aaaaab'); // 結果確認 System.assert(MyMatcher.matches());
エラー例
String value = NULL; Boolean Test = Pattern.matches('a*b', value ); System.debug('Result is--->' + Test);
エラーメッセージ
MSG:System.NullPointerException: Script-thrown exception
エラーの解消方法
マッチしたい文字列の値を処理する前にチェックする
String value = NULL; if(String.isNotEmpty(value )){ Boolean Test = Pattern.matches('a*b', value ); System.debug('Result is--->' + Test); }