|
分類:[C#]
2010/03/08(Mon) 23:20:53 編集(投稿者)
初投稿のふぇいといいます,よろしくお願いします.
開発環境:「VS2008 FrameWorks3.5」
現在,「TextBox内に入力されたテキストで,指定した正規表現にマッチした部分の内部にはカーソルが移動できないようにする」という実装を行いたいのですが,どのように実装すればいいのか皆目見当もつかない状態です. やりたいことの具体例は, 指定した正規表現が「<a +.*>」,TextBox内の文字列が「あいうえお<a id="mogemoge">かきくけお」となっていたとき, 「お」と「<」の位置で右を押したら「>」と「か」の間にカーソルが来たり, 逆に「>」と「か」の間で左を押したら「お」と「<」の間にカーソルが来る,といった感じです.
現段階でカーソルの移動するたびにイベントをキャッチする,テキストの指定した位置にカーソルを移動させる,というところまではできているのですが, カーソルの移動先が正規表現で表わした部分内に含まれるかどうかの判定, および含まれる場合にカーソルの位置を正規表現外に移動させる,という処理をどうすればいいのかがわかりません.
もしこのような実装を以前にやったことがある方,あるいは実装のアイディアがある方がいらっしゃいましたら知恵を貸していただけると幸いです.
|