这有点相关:正则表达式 - 格式化块中的文本 - IM但另一个问题。
寻找-
具有以下条件的换行文本:
条件:
- 令牌可以在行首或行尾
- 标记必须由空格或一个或多个符号包围:{.,!@#$....}。
- 不能是围绕相关
-
对的正常字符 [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- thank you-!
- (零):
- Wow-thank you-.
- (谢谢你):
- Wow!-thank you-
- (谢谢你):
- Wow -thank you-
- (全部):
-Wow - thank you-
- (零):
-Wow - thank you -
这需要向后看吗?(我是一个正则表达式新手,所以请多多包涵)或者我的中间情况完全错误。
非常感谢!
沃尔夫。