投稿者 魔界の仮面弁士  (社会人) 投稿日時 2015/12/24 10:47:57
> センチメートル → ㎝
> メートル → m
> グラム → ㌘

例示として、あえて表記を揺らしているのだとは思いますが、
  U+3322『㌢』「SQUARE SENTI」
  U+334D『㍍』「SQUARE MEETORU」
  U+3318『㌘』「SQUARE GURAMU」
で統一するわけでは無いのですね。

このあたりも候補に上がりそう
  U+0063『c』「LATIN SMALL LETTER C」
  U+006D『m』「LATIN SMALL LETTER M」
  U+0067『g』「LATIN SMALL LETTER G」
U+210A『ℊ』「SCRIPT SMALL G」


それはさておき:


> こちらのイメージとしてはこのような感じで条件にあった値を取得したいです。 

完全一致なのか部分一致なのか、質問文からは読み取れませんでした。

完全一致で取得するのなら、Dictionary(Of String, String) で十分であり、
判定も ContainsKey メソッドだけで済みますから、Regex の出番すら
なさそうですので…部分一致なのでしょうか?

仮に部分一致だったとすると、たとえば
「100グラム当たり98円」を「100㌘当たり98円」に置き換える処理を
連想してみたのですが、この場合の変換ルールが良く分かりません。

たとえば、「おセンチセンチメートル」という文章には
「センチメートル」と「メートル」という語が両方含まれますが、
複数の条件が同時に当てはまるような場合の変換優先度が
質問内容からは読み取れませんでした。



> コード内に変換表が散らばりあまり見栄えとしてはよくありません。
であれば、コード外に変換表を配置するとか。(データベース、リソース、App.Config、XML ファイル等々)