作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我通常会使用字符串库做这样的事情。但我想知道是否可以使用正则表达式来完成。
我想做以下事情:给定一个搜索字符串:
Seattle is awesome
我想在给定的句子中找到它的所有子串。因此,将正则表达式应用于以下句子
Seattle Seattle is awesome is awesome awesome is Seattle
应该给我
Seattle, Seattle is awesome, is awesome, awesome, is, Seattle
一个可能有用的约束是句子将始终只有搜索字符串中出现的单词和中间的空格。
注意 如果有匹配项,它应该是可能的最长字符串。所以就像上面的例子一样,匹配不应该是单个单词,而是尽可能长的子字符串。单词之间的顺序也需要保持。这就是为什么
awesome is Seattle
上面的句子给了我们
awesome, is and Seattle
我不确定这样的事情是否可以用正则表达式来完成,因为它是贪婪的。对此有任何见解将不胜感激!我熟悉 C# 和 Java,可以使用它们的任何一个正则表达式库。
最佳答案
我不认为你可以用正则表达式来做到这一点。维基百科上有一篇很好的文章 longest common subsequence problem .
关于c# - 正则表达式查找所有子串和最长子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644318/
我是一名优秀的程序员,十分优秀!