将正则表达式应用于Java I / O流

时间:2009-04-04 11:24:01

标签: java regex sockets network-programming stream

我寻找一个将正则表达式应用于Java I / O流的示例,该流不会简单地将流转换为字符串,因为我希望保留二进制数据。互联网上的大多数例子都集中在文本数据......

4 个答案:

答案 0 :(得分:9)

Java Standard上不存在所需的功能。您必须使用jakarta regexp,特别是StreamCharacterIterator类。该类封装了一个InputStream,用于regexp操作。

如果您想使用标准正则表达式包,我建议您从上一课here获取来源,并通过实施CharSequence而不是CharacterIterator来更改合同。< / p>

答案 1 :(得分:0)

将流转换为字节数组。

答案 2 :(得分:0)

尝试使用Ragel - 带有转换回调的正则表达式工具。

可以应用于流和块。

答案 3 :(得分:-2)

必须对字符串执行正则表达式操作,字符串是二进制数据的编码字节。您无法对不知道它们代表什么的数据字节执行正则表达式操作。