正規表現を使用してコンマ区切りの文字列を分割しようとしています。
var a = 'hi,mr.007,bond,12:25PM'; //there are no white spaces between commas
var b = /(\S+?),(?=\S|$)/g;
b.exec(a); // does not catch the last item.
すべてのアイテムをキャッチするための提案。
正規表現を使用してコンマ区切りの文字列を分割しようとしています。
var a = 'hi,mr.007,bond,12:25PM'; //there are no white spaces between commas
var b = /(\S+?),(?=\S|$)/g;
b.exec(a); // does not catch the last item.
すべてのアイテムをキャッチするための提案。
否定文字クラスを使用します。
/([^,]+)/g
非カンマのグループに一致します。
< a = 'hi,mr.007,bond,12:25PM'
> "hi,mr.007,bond,12:25PM"
< b=/([^,]+)/g
> /([^,]+)/g
< a.match(b)
> ["hi", "mr.007", "bond", "12:25PM"]
なぜ使用しないの.split
ですか?
>'hi,mr.007,bond,12:25PM'.split(',')
["hi", "mr.007", "bond", "12:25PM"]
何らかの理由で正規表現を使用する必要がある場合:
str.match(/(\S+?)(?:,|$)/g)
["hi,", "mr.007,", "bond,", "12:25PM"]
(コンマが含まれていることに注意してください)。