這與一些有關:Regular Expression - Formatting text in a block - IM但有一個不同的問題。正則表達式查詢幫助 - Lookbehind
尋找-
的文字換行符合下列條件:
條件:
- 令牌可以在啓動或行尾
- 令牌必須由空格或一個或多個被包圍符號:{。,!@#$ ....}。
- 一定不能是包含
-
對的正常字符[a-zA-Z]。 - 看樣測試3 ... W-感謝你 -
- 測試4和5成功,因爲
-
是包裹着[^ A-ZA-Z]
- 一定不能是包含
- 令牌不能跟一個在第一
-
或空間之前的最後-
- 的空間「-Wow - 」將不會是一個匹配作爲閉合
-
用空間之前。 - 見樣本測試6和7
- 的空間「-Wow - 」將不會是一個匹配作爲閉合
對於正則表達式的前我需要:(^|[\s\W]+)
和端將是:($|[\s\W]+)
我有當前的表達,但由於逃生條件在找到第一個後停止,故障是失敗的-
(^|[\s\W]+)-([^\s][^-]*)-($|[\s\W]+)
個
樣品測試字符串是:
- (全部):
-Wow-thank you-.
- (WOW):
-Wow- thank you-!
- (NIL):
- Wow-thank you-.
- (謝謝):
- Wow!-thank you-
- (感謝你):
- Wow -thank you-
- (全部):
-Wow - thank you-
- (N IL):
-Wow - thank you -
這是否需要看後面? (我是一個正則表達式的新手,所以請忍受我)或者是我的中間狀況完全錯誤。
謝謝你!
mwolfe。
我不明白你的第一條評論後你的第二個條件。 – 2013-03-08 06:52:47
由於在「-thank you-」之前有一個字符「w」,因此示例3失敗。如果該字符是空格或符號,那麼「感謝您 - 」將被識別/標記/找到。這就是爲什麼Example 4工作的原因,因爲「 - 」之前的字符是「!」 – 2013-03-08 06:56:31
+1 - 非常好的嘗試,特別是對於(自稱)新手。 – 2013-03-08 07:16:14