タブ振り分けルールにおいて正規表現のマッチ結果と振り分けが異なる
http://maraigue-memo.tumblr.com/post/945373284/kiri-feather
@kiri_feather Tweenのタブ振り分け機能について、一点気になった点がありましたのでご報告します。 振り分けに際して、「自分の発言以外で、特定の内容を含むもの」という条件を書きたくて、振り分けルールを書く際に正規表現のチェックを入れ、ユーザ名の欄に「\A(?!h_hiro_\z).*\z」と書き込んでも、自分の発言が除外されませんでした。ただし、「\A(h(?!_hiro_\z).*|^h.*)\z」と書くと大丈夫でした。
なお手元の.NET framework 2.0環境で簡単なプログラムを書いて試したところ、”h_hiro_”という文字列は「\A(?!h_hiro_\z).*\z」という正規表現にはマッチしませんでした。以下のようなコードです。
Regex pattern = new Regex(@”\A(?!h_hiro_\z).*\z”, RegexOptions.IgnoreCase); MessageBox.Show(pattern.Match(textBox1.Text).Success.ToString());
C#です。 textBox1に「h_hiro_」と入力してこのコードを実行すると「False」が、「h_hiro」や「h_hiro」を入力してこのコードを実行すると「True」が表示されます。 なのでTweenではそれとは異なった挙動を示しているという状況です。
ルール判定時に通常発言でもRTしたID(空)を判定対象としていたため。
http://maraigue-memo.tumblr.com/post/945373284/kiri-feather
@kiri_feather Tweenのタブ振り分け機能について、一点気になった点がありましたのでご報告します。 振り分けに際して、「自分の発言以外で、特定の内容を含むもの」という条件を書きたくて、振り分けルールを書く際に正規表現のチェックを入れ、ユーザ名の欄に「\A(?!h_hiro_\z).*\z」と書き込んでも、自分の発言が除外されませんでした。ただし、「\A(h(?!_hiro_\z).*|^h.*)\z」と書くと大丈夫でした。
なお手元の.NET framework 2.0環境で簡単なプログラムを書いて試したところ、”h_hiro_”という文字列は「\A(?!h_hiro_\z).*\z」という正規表現にはマッチしませんでした。以下のようなコードです。
Regex pattern = new Regex(@”\A(?!h_hiro_\z).*\z”, RegexOptions.IgnoreCase); MessageBox.Show(pattern.Match(textBox1.Text).Success.ToString());
C#です。 textBox1に「h_hiro_」と入力してこのコードを実行すると「False」が、「h_hiro」や「h_hiro」を入力してこのコードを実行すると「True」が表示されます。 なのでTweenではそれとは異なった挙動を示しているという状況です。