-1

私は引用の間にすべてを取得しようとしています。引用符の間にあるのはファイルの場所です。したがって、「C:\ Users \ Documents and Settings \ Pictures\mypic.bmp」のようになります。現在使用している正規表現は次のとおりです。

   "([""'])(?:(?=(\\?))\2.)*?\1"

バックスラッシュで分割することを除いて、数字と文字を取得するために機能します。誰かが私を助けてくれるので、私は完全な文字列を一致させることができますか?

前もって感謝します。

4

2 に答える 2

3

私は一緒に行きます:

@"""\s*(.*?)\s*"""

テストに使用したサンプルコード:

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        Match match = Regex.Match(txtString.Text, @"""\s*(.*?)\s*""",
            RegexOptions.IgnoreCase);

        if (match.Success)
        {
            string key = match.Groups[1].Value;
            lblFinal.Text = key;
        }
    }

反対票を修正できますか?;)

于 2013-01-02T03:32:45.430 に答える
2

次の正規表現を使用できます(C#文字列リテラルで引用):

string regexPattern = "\\\"(.+?)\\\"";

また

string regexPattern = @"\""(.+?)\""";

C#リテラルエスケープなし

\"(.+?)\"

このようにして、一致したグループは引用符内の文字列になります

http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashxでテストする場合

ソース

"C:\Users\Documents and Settings\Pictures\mypic.bmp"

パターン

\"(.+?)\"

結果

C:\Users\Documents and Settings\Pictures\mypic.bmp
于 2013-01-02T03:50:03.707 に答える