1

私が作成したいくつかのカスタム ショートコードをサポートするために、Ruby 1.8.7 でいくつかのテキスト処理に取り組んでいます。ここに私のショートコードの例をいくつか示します:

[CODE first-part]
[CODE first-part second-part]

次の正規表現を使用して取得しています

text.gsub!( /\[CODE (\S+)\s?(\S?)\]/i, replacementText )

問題はこれです:正規表現は次のテキストでは機能しません:

[CODE first-part][CODE first-part-again]

結果は次のとおりです。

1.  first-part][CODE
2.  first-part-again

\s?最初のスペースではなく、最後のスペースに到達するまで検索するのは、正規表現の問題のある部分であるようです。正規表現を次のように変更すると:

\[CODE ([\w-]+)\s?(\S*)\]/i

それは正常に動作します。私が持っている唯一の懸念は、 URL セーフ文字と一致することを確認したいので、すべて\wvsです。\s\w

完全に有効な説明があると確信していますが、それは私にはわかりません。何か案は?ありがとう!

4

2 に答える 2