0

正規表現をうまく読み取ることができず、解釈しようとしているコードをいくつか継承しています。2つの質問があります。

まず、正規表現パターンの断片が何をしているのか説明していただけますか?

次に、このコードによって省略記号がスペースに置き換えられているという問題があり、省略記号を保持したいと考えています。省略記号を保持するには、ステートメントで何を変更する必要がありますか?

Dim Test As String = "Test...test" 'this is three dots and not an ellipsis, but just as an example
Dim NotGoodCharacters As String = "[^\w\,<>:;~`@#$%^&*()_=+\-{}|[\]\\?/! ""'']"
Return System.Text.RegularExpressions.Regex.Replace(Test, NotGoodCharacters, " ")

どうもありがとう。

4

2 に答える 2

2

これは、セットにない文字を置き換えています。

\w\,<>:;~@#$%^`&*()_=+-{}|[]\?/! ""'' 

スペース付き。正規表現がと[^...]の間の文字のいずれでもない任意の文字と一致していることがわかります。は、任意の単語文字に一致し、コンマに一致し、バック スラッシュに一致します。楕円はそれらの文字のどれでもないと思うので、取り除かれるのは理にかなっています。[^]\w\,\\

アップデート:

@Alanのコメントの後、おそらく説明する必要があることに気づきました。\-は、ダッシュに\]一致し、閉じ角括弧に一致します。

楕円を除外したい場合は、正規表現を次のように変更してみてください。

Dim NotGoodCharacters As String = "[^\w\,<>:;~`@#$%^&*()_=+\-{}|[\]\\?/! ""''\x85]"

\x85、横方向の省略記号の ASCII コードに一致します。

于 2012-06-05T15:22:23.823 に答える
-1

これは、正規表現を作成するのに役立つ小さなフラッシュ ツールです。 正規表現

于 2012-06-05T15:32:34.100 に答える