VHDLコードを解析して、いくつかのチェックを追加しようとしています。VHDL文字列リテラルの正規表現
文字列リテラルを検索する正規表現を探しています。文字列リテラルは、なるように二重引用符で囲まれています
" {characters} "
問題は現在、次の要件です:引用マーク値が、その後、文字値の 列で表現される場合
文字列リテラル内の対応する の場所に隣接する二重引用符を書き込む必要があります。
これが意味している以下の法的な文字列リテラルは、次の場合
""""
" random stuff "" random stuff "
私はわからない:
("(("")*[^\n"]*)*")
は十分に私は/"([^"]|"")+"/
がほとんどのために働くことを願っています
どのようにエスケープされた引用符を扱っているのですか?法的文字列リテラルであることは意味がありません。 "" "" "" "" "?それは文字列リテラルです、またはそれは単にスペース上に浮動小数点の引用です、あなたはそれをあらゆる方法で持つことはできません。 – sweaver2112
よく分からない場合は、正規表現を試してみてください: 'find -name '* .vhdl' | | perl -ne 'print if/regex /'> yourResult.txt'次に、 '' 'を含む行を検索するのと異なる結果を確認してください:' find -name '* .vhdl' | xargs cat | perl -ne 'if/"/ '> allQuotes.txt'。 'wc -l yourResult.txt allQuotes.txt' – nodakai
好奇心、sebs、あなたはこのエスケープされていない二重引用符にもマッチしたくありませんか? 'dkfasdfasdfasd "kjlkdsajf?なぜいけないの? – sweaver2112