私は 2 つの初歩的なミスのいずれかを犯している状況に陥っていました。
- ライブラリから取得するコードを書く
- より優れたパターン化を使用して大幅に簡素化できる超複雑なコードを作成する
私がやろうとしていることは非常に単純です。オブジェクトからページにフィールドを出力する JavaScript コードに命令を送る必要があります。次の文字列は問題なく始まりました。
message, tags, date
を使用して、オブジェクトからこれらの要素を取得するようにコードに簡単に指示します。
field_array = instruction_string.split(',')
obj['message'], obj['tags'], obj['date']
その後、私がいるタイム ゾーンを反映するようにその日付フィールドを変更したいことに気付きました。フィールドの特別な指示を文字列で実行できるようにすると、正規表現が少し複雑になりましたが、それほど複雑ではありませんでした。
message, tags, date(GMT-5)
コードの使用:
var special_instruction = /\(.*\)/ig.exec('date(GMT-5)')[2]
RESULT: special_instruction = 'GMT-5'
実際の日付を出力する代わりに、現在からの時間差を反映するように出力に日付を調整するように指示したいことに気付いたとき、私は頭を抱えていることに気付きました:
message, tags, date(GMT-5_)(SINCE_NOW)
私が書いた正規表現は機能しませんでした:
var special_instruction = /\((.*)\)/ig.exec('last_updated(GMT-5)(since_now)')
RESULT: special_instruction = 'GMT-5)(since_now'
正規表現を修正する方法はおそらくありますが、これは、カスプからカスタム コードを記述して長時間それをいじるのではなく、ツールまたは確立されたパターンを使用してこれを行う必要があることを示しています。