【发布时间】:2014-09-10 22:23:14
【问题描述】:
我有 2 个字符串(句子),我想找出两个字符串(句子)不匹配时的具体差异。
我的示例代码如下
my $diffpara1 = "This is paragraph 1";
my $diffpara2 = "This is paragraph 2 different from first paragraph";
my $samepara1 = "This is paragraph is same";
my $samepara2 = "This is paragraph is same";
print (($diffpara1 eq $diffpara2) ? '<span style="background-color: green">Matching</span>' : '<span style="background-color: red">Not Matching</span>');
print "<br/>".(($samepara1 eq $samepara2) ? '<span style="background-color: green">Matching</span>' : '<span style="background-color: red">Not Matching</span>');
以上代码的结果是:
以上仅表示字符串(句子)是否匹配或字符串(句子)不匹配。但我想生成一个输出,表明两个字符串(句子)的不同之处。
我想要的示例输出(BOLD 区别):
这是第 1 段
这是第 第 2 段与第一段不同 段落
我不确定我们是否可以使用 REGEX 来获得所需的输出。
提前感谢您的帮助。
【问题讨论】:
-
This is text和This is word应该打印什么? -
与其重新发明轮子,还有一些 Perl 模块已经这样做了——你搜索过 CPAN 吗?我过去使用过 Text::WordDiff:metacpan.org/pod/Text::WordDiff
-
感谢@ialarmedalien 我尝试了
Text::WordDiff模块,它成功了。正是我想要的。
标签: regex string perl difference