如何使用仍然在字符串开头工作的lookbehind断言来制作正则表达式

时间:2011-01-11 17:42:09

标签: java regex lookbehind

我需要在字符串的开头模拟\b的行为,我在其中添加了另外的字符作为字边界。现在我正在使用类似的东西:

"(?<=\\W|\\p{InCJKUnifiedIdeographs})foo"

这是我想要的,除非我在匹配的字符串的开头:在这种情况下断言失败,我没有得到命中。我想要的是等同于匹配,如果我在字符串的开头或foo前面是非单词字符或表意文字。但我无法得到正确的咒语支持这一点。

有什么想法?或者这不可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:14)

"(?<=^|\\W|\\p{InCJKUnifiedIdeographs})foo"

只需将字符串开头的锚点添加到lookbehind条件中即可。