0

テキスト行から価格のみを抽出するコードを考え出そうとしています。

価格の正規表現が動機ですか? 、次のコマンドを思いつきました:

gregexpr('\\d+(\\.\\d{1,2})', '23434 34.232 asdf 3.12  ')

[[1]]
[1]  7 19
attr(,"match.length")
[1] 5 4
attr(,"useBytes")
[1] TRUE

ただし、私の場合は、一致するだけで3.12、一致したくありません34.232。助言がありますか?

4

3 に答える 3

3

私はこれがうまくいくと思います:

'\\d+\\.\\d{1,2}(?!\\d)'
于 2013-02-18T03:20:36.447 に答える
2
\\d+\\.\\d{1,2}(?!\\d)

で否定先読みがサポートされているかどうかは 100% 確信が持てないrため、別の方法を次に示します。

\\d+\\.\\d{1,2}(?:[^\\d]|$)
于 2013-02-18T03:22:10.297 に答える
-2

1 つまたは複数の数字の後にポイントが続き、その後に 1 つまたは 2 つの数字が続き、その後に空白または文字列の末尾が続きます

\\d+\\.\\d{1,2}(\w|$)

編集:コメントによると、Rはダブルエスケープを使用します

于 2013-02-18T03:20:41.620 に答える