正規表現で引用符の中にないカンマを見つける 質問する

正規表現で引用符の中にないカンマを見つける 質問する

C#で行ごとにチェックしています

サンプルデータ:

bob jones,123,55.6,,,"Hello , World",,0
jim neighbor,432,66.5,,,Andy "Blank,,1
john smith,555,77.4,,,Some value,,2

引用符の外側のカンマを選択する正規表現2 行目は解決されませんが、これが最も近いものです。

ベストアンサー1

次の正規表現を試してください:

(?!\B"[^"]*),(?![^"]*"\B)


デモはこちらです:

regex101 デモ


  • "挿入した行に閉じ引用符がないため、2 行目と一致しません。
  • 次のような値には一致しません。これ,r"a string",10は、の端にある文字が"非単語境界ではなく単語境界を作成するためです。

代替バージョン

(".*?,.*?"|.*?(?:,|$))

これは内容とカンマを一致させ、句読点がいっぱいの値と互換性があります。

regex101 デモ

おすすめ記事