2012-03-31 138 views
0

现在我真的应该可以阅读正则表达式了,但任何人都可以谈论我通过这个?这个正则表达式符合什么? /([^“^ s] +) s * |”([^“] +)” s */g

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

只是为了背景;它在Alfresco中用于匹配文档标签。有没有一个网站可以插入这些网站并获得解释(除了SO之外)!

+1

虽然这个问题确实对访问者不会有用,但这是因为他们无法搜索它;正则表达式对于很多应用程序非常有用(特别是如果通过添加引号转义来改进它)。 – Blindy 2012-03-31 13:48:12

回答

2

它或者匹配一个标识符(不包含",^或者任何类似空格的字符 - 空格,制表符,新行)或者引号之间的内容,或者后面跟有任意数量的空格。

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 

那么作为Blindy说,它要么没有“^”,报价,或空格,或者,两个引号字符之间的匹配一切字符串匹配。它可以节省它在反向引用中找到的东西(我称之为'组',因为我的Python被困在脑中)。

+0

正则表达式使开发人员更紧密地合在一起很有趣,我的C#版本在我的脑海中停滞不前! – Blindy 2012-03-31 14:09:48

+0

C#小调正则表达式套件,我想? :) – alan 2012-03-31 14:47:21

+0

我不用听起来就可以唱歌就能唱歌! – Blindy 2012-03-31 15:00:00

相关问题