2017-03-15 8 views
0

2つの日付が互いの後に現れるかどうかを検出するために、正しいLUAコードを見つけるのに苦労します。一致する日付を検出するためのLUAパターン

私は2つのキーワードを検出する類似のものを持っていますが、それは私の日付では機能しません。

ここで私が持っているLUAコードはこれまでです:ここ

(%a+) %- %1$ 

乾杯、

+1

はあなたが一致させたいものの例を与えることができますか?また、どの言語で作業していますか? –

+1

確認しているテキストの例と予想される結果を示してください。 – Sam

+0

同じパターンを '%1'と繰り返すといいでしょう - いいえ、この'%1'は '(%a +)'とマッチした同じアルファベットにマッチします。文字列アンカーの '$' endを削除してみてください。照合しようとしているサンプルの文字列を入力してください。ところで、あなたが使っているものは正規表現ではありません、これらはLuaパターンです。 –

答えて

2

あなたの主なトラブルは、あなたが%a+パターンで2017-03-19のような日付を一致させたいということです。 %aは1文字以上の文字に一致し、%a+は1文字以上と一致します。

あなたが%d+%-%d+%-%d+または%d%d%d%d%-%d%d%-%d%dのような、より正確なものとこのパターンを交換する必要があります:%dは数字にマッチ

'(%d+%-%d+%-%d+) %- %1' 

このように文字列全体を一致させる場合は、パターンを^$のアンカーで囲む必要があります。

'^(%d+%-%d+%-%d+) %- %1$' 

あなたは単語の境界を追加したい場合は、

'%f[%d](%d+%-%d+%-%d+) %- %1%f[%D]' 
関連する問題