【发布时间】:2012-03-14 06:22:37
【问题描述】:
我有下一段文字
aaa|bbbb|cccc|dddd\|eeee|ffff
我想用 | 分割不包括何时 |前面是\并获取
啊啊
bbbb
cccc
dddd\|eeee
ffff
谢谢。
ps:我尝试使用一些正则表达式生成器(例如 http://txt2re.com/),但坦率地说,正则表达式一点也不友好。
更新:最后我放弃了。正则表达式不快(我做了一个基准测试),也不清晰(与每个人都可以遵循的函数相比),然后我跳过它,现在我使用的是真实代码。
【问题讨论】:
-
听起来你想要一个否定的lookbehind断言。
-
为什么是
dddd\|eeee而不是dddd|eeee? -
如果你的模式这么简单,你也可以只遍历字符,只有找到管道
|时才拆分,但前面的字符不是反斜杠`\`。我不确定您的输入字符串是如何构造的,但是如果您可以控制它,您也可以不使用 \|在那个位置,但如果可以的话,使用不同的字符。 -
@Gabe 我不知道我怎么会因为一个问题而被降级,但发生了(巨魔?愤怒的开发者?)。我个人不同意任何反对意见。 @Tim Cooper 我尽量保留反斜杠,我不想删除它。 @ normalocity 因为反斜杠是事实上的标准,所以我想保留它并使用它。