2012-03-31 18 views
0

これまでに正規表現を読むことができるはずですが、私はこれを通して?この正規表現は何のために一致しますか? /([^ "^ s] +) s * |"([^ "] +)" s */g

/([^"^\s]+)\s*|"([^"]+)"\s*/g 

それはAlfrescoでドキュメントタグの照合に使用されています。そこにウェブサイトがありますか?これをプラグインして説明を得ることができます(SO以外)!

+1

この質問は訪問者には役立ちませんが、それは検索ができないためです。正規表現は多くのアプリケーションで本当に便利です(特に引用符エスケープを追加して改良した場合)。 – Blindy

答えて

2

識別子("^、またはスペースのような文字 - スペース、タブ、改行など)を含まないもの、または引用符の間に何かのスペースが続くものに一致します。 Blindyが言ったように

6
(  # start a capture group 
[^"^\s]+ # one or more characters NOT quote, caret, or white space 
)  # close capture group 
\s*  # followed by optional white space 
| # either match everything before this '|' or everything after it 
"  # match a quote character 
(  # start capture group 
[^"]+ # one or more characters NOT quote 
)  # close capture group 
"  # the closing quote 
\s*  # followed by optional white space 

だから、それは「^」、引用符、または空白を持って、OR、それは2引用符の間のすべてを一致していない文字列にマッチするのどちらか。そして、それは逆参照(私はPythonが私の頭の中に止まっているので私が 'グループ'と呼んだもの)で見つかったものを保存します。

+0

regexがどのように開発者を近づけてくれるのか面白いです、私の頭にはC#のバージョンがあります! – Blindy

+0

C#マイナーのRegexスイート、私は推測しますか? :) – alan

+0

私はオフキーを聞かせずに歌うことができることの一つ! – Blindy

関連する問題