パラメータ加工フローの値取り出しについて
完了お世話になっております。
パラメータ加工フローで、正規表現による値取り出しを行う際に、値が 'nil' の場合に次行のデータを読み込んでしまいます。
試しているのは以下の正規表現で、どれも次行まで見に行ってしまいました。
1.count:\s*(\S+)
2.count:\s*(.+)
3.count:\s*(\S+)$
kompira に送り込んでいる際のメールデータ記述は以下です。(全7件中、uniqueNo が最終データ)
count:
uniqueNo:2023020613300001
弊社プログラムで、必ずcount の件数を出力するようにもできますので、「できれば」で構わないのですが、「こうすれば次の行まで見に行かない」という正規表現がもしあればご教示ください。
以上、よろしくお願いいたします。
-
お世話になっております。
ご回答ありがとうございました。
試してみたところ、\n ではマッチせず、¥r 指定で Kompira に'nil' 出力することができました。
\r に関してはエディタやコーディングに影響されてしまうという認識で良いでしょうか?
また別件になりますが、テストをしている中で、severity 名を途中で変更してしまったので、その履歴が残っているからか、深刻度一覧に2つのseverity 名が表示されています。
webhook を使っている場合、severity 名の指定は、
①ルールでの深刻度名指定(スクショ1)
②webhook でのパラメータ指定(スクショ2)
だけかと思います。
こちらの修正が新しいものに修正されていれば、深刻度一覧の過去のseverity 名(赤)は削除しても差し支えないでしょうか?
何度も申し訳ありません。
以上、よろしくお願いいたします。 -
お世話になっております。
正規表現の件で再度質問をさせてください。
>>マッチさせたい行ではない行まで含まれてしまうとのことですので、
>>以下の様な正規表現ではいかがでしょうか。
>>count:\s*(\S+)\n
昨日のご教示の手法に倣い、
・count:\s*(\S+)\r
を用いて、値がない場合に次行まで含まれてしまう事象は解決していたのですが、
値がある場合も nil になってしまうことがわかりました。
以前ご教示いただいた際に、加工パラメータの正規表現は、
>>正規表現に「()」で囲われた部分がある場合はその部分にマッチした文字列を、そうでない場合は正規表>>現全体にマッチした文字列を取り出すようになっている
と、伺っており、 (S+)があるので、値がある場合はマッチすると考えていたのですが、認識が違うのでしょうか?
申し訳ないのですが、値がある場合は値を返し、値がない場合は nil を返す表現にはどのようなものがあるかご教示いただけないでしょうか?
重ね重ね申し訳ありませんが、よろしくお願いします。
サインインしてコメントを残してください。
コメント
6件のコメント