正则表达式 - 匹配不同于特定符号和特定组合的符号?

时间:2013-12-16 13:32:45

标签: java regex

请帮助解决以下问题: 我想写一个正则表达式,它可以匹配任何包含数字,数字或组合的内容" \ r \ n" (新队) 我唯一想到的就是前两个条件:

[^\\.\\d] - Anything different from a dot or a digit

如果可以(" \ r \ n")如何添加特定的"字"? 测试输入:

String s = "10.10.10.10&10.10.10.10 10.10.10.10\r\n10.10.10.10\r\n10.10.10.10\r\n10.10.1‌​‌​0.10";

我想将此输入拆分为6 :( 感谢

3 个答案:

答案 0 :(得分:1)

String[] ipAddresses = s.split("\\s+");

\ s类匹配任何空格字符。这包括换行符
加号说:最少一次,但也更多。

当您更改“规格”时,这应该有效:

String[] ipAddresses = s.split("[^\\d\\.]+");

答案 1 :(得分:0)

所以你需要看看\\\\

[\\.\\d\\\r\\\n]

答案 2 :(得分:0)

感谢帮助人员。我弄清楚了:

String regex = "(\\r\\n)|[^\\d\\.]";

将输入分割为与数字或点加上\ r \ n

不同的输入
String s = "10.10.10.10 10.10.10.10%10.10.10.10$10.10.10.10\r\n10.10.10.10\r\n10.10.10.10";
    String regex = "(\\r\\n)|[^\\d\\.]";
    String[] arr = s.split(regex);
    System.out.println(arr.length); // outputs 6