これに一致する正規表現が欲しい: word,"number",word
number は次のようなものです: 100,000.00
これまでのところ私はこれを持っていますが、数字の周りの引用符を確認する方法がわかりません.
(w+)(,)\\(d+)(,)(d+)(.)(d+)(,)\\(w+)(,)
次のように、エスケープ文字を使用して引用符を追加するだけです。
\\w+,\\"\\d+,\\d+\\.\\d+\\",\\w+
パターンの一部ではないため、最後のコマを削除します。
数値の後に木桁を含むセミコロンがほとんどない (またはまったくない) 場合、または精度部分がオプションである場合は、次の正規表現を使用できます。
String regex=
"\\w+,\"" + // word, semicolon, quote mark
"\\d{1,3}" + // number in form d, dd, or ddd
"(,\\d{3})*" + // optional (* means 0 or more times) part of numbers in format ",ddd"
"(\\.\\d{2})?" +// optional (? means 0 or 1 time) part ".dd"
"\",\\w+"; // quote mark, semicolon, word
これは受け入れます:
-precision part is optional
d
d.dd
-number of semicolons can change, but every semicolon MUST have 3 digits after it
dd,ddd
d,ddd,ddd
d,ddd,ddd.dd