java - 如何识别字符串中重复字符的模式?

标签 java regex string

假设你有一个像这样的字符串:

198<string>12<string>88<string>201

是的,这看起来像 IPv4 地址,因为它就是一个。

如何检查字符串中是否存在重复模式? 我不知道从哪里开始,而且我不确定正则表达式是否有帮助,因为我真的不知道要查找什么字符串,只是它会重复。

这里的目标是剥离 <string>来自主字符串。

好吧,假设字符串是:

String test = "112(dot)115(dot)48(dot)582";
if(isIP(test){
   System.out.println("Yep, it's an ip");
}

输出应该是:

Yep, it's an ip

分隔符(点)总是不同的。

最佳答案

试试这个:https://regex101.com/r/oR1gS8/4

/^((?:\d{1,3}[^0-9]+){3}\d{1,3})$/

匹配198<string>12<string>88<string>201 , 112(dot)115(dot)48(dot)582 ,和112<test>115<test>48<test>582等等...

关于java - 如何识别字符串中重复字符的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27348213/

相关文章:

Java API 打开/关闭 USB 警报灯

java - 在 Java 中测试 SOAP Web 服务

python - pandas extractall() 没有提取给定正则表达式的所有案例?

linux - 来自 linux "ÿôÿý"的各种日志中的此字符串

c++ - 如何用 int 替换 char 的实例,然后用它们访问数组

java - 检查输入的字符串是否包含我列表中的内容

java - 如何更改菜单项的文本大小?

java - IntelliJ IDEA - 错误 : A JNI error has occurred, 请检查您的安装并重试

mysql - SQL 如果单元格中至少有两个定义的值,则替换该单元格中的值

javascript - 为什么这个正则表达式不适用于重复对?