次の正規表現をデコードしようとしています。何らかの理由で、私のオンラインデコーダでは動作しません。誰でも次のものを解読するのを助けることができます:正規表現をデコードする
Regex r = new Regex("src=\"(?<src>[^\"]+)\"")
ありがとうございました。
次の正規表現をデコードしようとしています。何らかの理由で、私のオンラインデコーダでは動作しません。誰でも次のものを解読するのを助けることができます:正規表現をデコードする
Regex r = new Regex("src=\"(?<src>[^\"]+)\"")
ありがとうございました。
あなたが最後に引用記号を逃しているようだが、のはそれを無視してみましょう。
剖検:
src=\"(?<src>[^\"]+)\"
src=
から文字列リテラルsrc=
\"
- リテラル引用符(文字列が終了していないことを確認するためにエスケープ)(?<src>[^\"]+)
src
名前キャプチャグループ(?<src>
)マッチング:[^\"]+
- リテラル - が"
文字ないこと任意の文字は、無限回(+
)\"
に1を一致しました引用符(文字列が終了しないようにエスケープします)Debuggex:人間の言葉で
:
文字列<img src="picture.png" />
でこれはpicture.png
を含むsrc
という名前の名前のキャプチャグループを作成します。
正規表現の限界:あなたのイメージは、単一引用符を使用して作成された場合が
(<img src='picture.png' />
)これは正しく動作しません。
src1
または
src2
のいずれかで)の両方に一致します
src=(\"(?<src1>[^\"]+)\"|\'(?<src2>[^\']+)\')
^
DOUBLE QUOTES OR SINGLE QUOTES
:その場合は、あなたのようなものを使用することができます。
ありがとうございます。行方不明を追加しました " –
正規表現を文字列形式で無視しようとすると、なぜdouble qutationをエスケープするのですか?これは正規表現エンジンに渡されるものではありません。 – sln
おそらく、パターンが正しくないためですか?私はこれがあなたが望んだと思う:
Regex r = new Regex("src=\"([^\"]+)\"")
これはsrc="image.jpeg"
でimage.jpeg
をキャプチャします。
あなたはおそらくここで一重引用符を確認したいでしょう –
なぜそれは言うのですか? @ h2000000以下の回答を –
に与えました。編集がリロードされませんでした。私の悪い – rock321987