2011-10-11 109 views
1

我有一個字符串,我想從該開始挑選出子字符串,並以加號結尾。正則表達式解析器和自定義轉義字符

例如:

text +name+ filler with /+ sign +b+ bold text +/b+ 

我想挑選出+name++b++/b+,但我目前正則表達式將治療+ sign +作爲一個可能的值」

這是我使用正則表達式\+[\[email protected]\w\s\d\/\!]*\+

我試過在前面添加一個[^/],但是它增加了在+之前的任何字符,並且不能處理+n++b+

我想弄清楚lookaround和lookbehind,只是不知道如何應用它。

回答

2

負向後視看起來像這樣(?<!/)。只有在前一個字符不是/時才匹配。

例子:

(?<!/)\+[^+]*\+ 

注:

  • 您可能需要如果您正在使用的字符作爲分隔符正則表達式逃離/
  • 並非所有的正則表達式引擎都支持向後看。
+0

這就是它(錯誤的引擎)...感謝,並感謝優化'[^ +]' – Daniel