Iは、のパターンに短い文字列の束を持っている:正規表現またはスキャナ
<text @varible1 more text><, @variable2 text ><@variable3 text text>
@variableNはプレースホルダであり、各ブラケットは、密閉varibaleが空の文字列である場合ことを示す「部」であります、 'セクション'は存在しません。私は正規表現を使用して各セクションを抽出し、対応する変数が空であるかどうかに基づいて文字列全体を再アセンブルすることを考えています。私は@変数1 =を渡す場合たとえば、「こんにちは」、文字列全体@ variabl3 =「世界は」のように返還しなければならない:
text hello more text, world text
を最初に、私は多分、私が仕事を得るために十分な正規表現のトリックを使用すると考えていた時。そして、私は 'セクション'がおそらくネストできることを発見しました。そして、明らかに - '<'、 '>'、 '@'のようないくつかの特殊文字をエスケープする必要があります。私はそれについて考えるほど、DSLのように見えます。だから、スキャナを開発するほうがいいでしょうか?私はパーザを書くことについて少ししか知りません。だから私はちょっと立ち往生して、行く方法がわからない。
誰かがこの種のシナリオでの経験を持っている場合は、その上にいくつかの光を当ててください。ありがとう。
構文例
<text @varible1 more text><, @variable2 text ><@variable3 text text>
<text @varible1 more text><, @variable2 <, @nestedVaraible> text \<@userName\> > # with nesting and escaping
<text @varible1 more text><, @variable2 text ><@variable3 \@twitterAccount> # escaping‘@
のJSLint」
あなたが使用している言語について言及すると、あなたに指示するのがより簡単になるかもしれません。誰かがおそらく既にあなたが使用できる設定可能なものを持っているでしょう。間違いなく私のパーサの問題のように聞こえる。 – fncomp
PHPまたはPythonで問題ありません。 – Shawn
Gotcha、あなたはあなたの構文の要点を得ることができるように、いくつかの行を投稿できますか?おそらく、私は[BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/documentation.html)の適応を提案するつもりです。 – fncomp