機能する正規表現を見つけるのに長い時間を費やしたので、私はばかのように感じます。
弦:~05276~^~0500~^~Turkey...
... は、その後に無制限の文字数を指定できることを意味します。私が欲しいのは、チルダなしの最初のチルダ区切りの数字です。テキスト ファイルからいくつかのデータを取得しようとしています。これを行う方法を理解できれば、残りを理解できると思います。
これが私の正規表現です。/^~([\d]+)~/
これは私が得ているものです:
[ '~05276~',
'05276',
index: 0,
input: '~05276~^~0500~^~Turkey...' ]
g 演算子 ( /^~([\d]+)~/g
) を使用すると、 , のみが取得され、~05276~
必要なのは05726
(チルダなし) です。
いくつかの異なる投稿やリソースを見つけましたが、これが期待どおりに機能しない理由がわかりません。これが私が見つけたものです:
Javascript 正規表現 - 中かっこの間のテキストを取得する方法
JavaScript/NodeJS はこれに対応していますか?
編集:
これが私のコードです:
lineReader.eachLine(file, function (line) {
var entry = {};
entry.id = line.match(/^~([\d]+)~/);
console.log(entry);
});
lineReader は正常に動作しており、上記の例の文字列のような行を返します。