"[a-zA-Z0-9]*"
フォームのパターンに合わせたい
"testing"
しかし、私の正規表現はこれらの文字列のいずれとも一致していません。どこで間違いを犯しているのですか?
前もって感謝します。
私はあなたが逃げなければならないかもしれないと思います
"
とともに
\
のように:
\"[a-zA-z0-9]*\"
これにより、期待どおりに3つの一致が得られます。
こちらをご覧くださいhttp://rubular.com/r/WW9IKTb0Xa
要件が「抽出」ではなく「一致」である場合:
^"[a-zA-Z0-9"]*"$ would be the regex you need.
2番目の例には二重引用符がネストされているため"
、[]
grepでテスト:
kent$ echo '"testing"
"testing123"hello""
'|grep -E '^"[a-zA-Z0-9"]*"$'
"testing"
"testing123"hello""
二重引用符で囲まれたものを抽出する場合は、2番目の例で何を取得したいかを説明する必要があります。
編集
二重引用符の間にあるものを抽出したいだけの場合:
(?<=")[^"]*
あなたが探しているものです。
まだgrepでテストしています:
kent$ echo '"xxx bbb _ foo bar"'|grep -Po '(?<=")[^"]*'
xxx bbb _ foo bar