看起来你可以\b在这种情况下拆分("\\b"作为字符串文字).
通常,您希望拆分零宽度匹配结构,\b也可以使用外观.
如果\b不符合您的定义,您可以始终使用断言定义自己的边界.
例如,以下正则表达式在元字符类X及其补码之间的边界上分割
(?=[X])(?<=[^X])|(?=[^X])(?<=[X])
Run Code Online (Sandbox Code Playgroud)
在以下示例中,我们定义X为\d:
System.out.println(java.util.Arrays.toString(
"007james123bond".split(
"(?=[X])(?<=[^X])|(?=[^X])(?<=[X])".replace("X", "\\d")
)
)); // prints "[007, james, 123, bond]"
Run Code Online (Sandbox Code Playgroud)
这里还有一个例子X是a-z$:
System.out.println(java.util.Arrays.toString(
"$dollar . . blah-blah $more gimme".split(
"(?=[X])(?<=[^X])|(?=[^X])(?<=[X])".replace("X", "a-z$")
)
)); // prints "[$dollar, . . , blah, -, blah, , $more, , gimme]"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |