0

次の正規表現を使用して、ダッシュダッシュ--で始まり、改行文字で終わる一連の文字をドキュメント内で検索しています/n

return @"(^--).*?(?=\r|\n)";

ほとんど機能しますが、--と次の文字の間にスペースがある場合に限ります。

return @"(?:--\s).*?(?=\r|\n)

--ほとんど機能しますが、と次の文字の間にスペースがない場合に限ります。

スペースがフォローしているかどうかに関係なく、どうすれば返品--できますか?

私はそれができること以外に正規表現について何も知りません。私はこれらのサンプルパターンの両方をオンラインで見つけました。ご協力いただきありがとうございます。

4

2 に答える 2

1

\s?0 または 1 のスペースをキャプチャするために使用する必要があります。

正規表現での疑問符の 1 つの使用法は、前の文字 (または文字のグループ) の 0 個または 1 個の一致が一致するが、1 つを超えないことを示すことです。

また、自分で正規表現を学習したい場合は、http://www.regular-expressions.infoにアクセスして学習し、http://www.regexpal.comにアクセスして練習してください。

于 2013-03-13T18:57:48.383 に答える
1

より大きな文字列で部分文字列を検索していて、その間の部分文字列をキャプチャしたいと仮定すると、次の--よう\nな式を使用できます。

--(.*)\r?\n

次のように C# で引用できます。

@"--(.*)\r?\n"

--文字列がで始まり、で終わることを確認したいだけの場合は、\n次を使用できます。

(?s)^--.*\n\z
于 2013-03-13T18:57:55.693 に答える