小编Jae*_*ark的帖子

在相同位置查找和替换匹配的字母

这是一个正则表达式的问题,但我在Wiki页面找不到适合我的案例的选项,所以我决定在这里问一下.可能是一个简单的未知选项正则表达式可以解决我的情况.

我有一个日志文件(a.txt),它有多行字符串.我想比较每两行(第1和第2,第3和第4 ......)并将匹配的字母(不是字符串)替换为"."(或任何特殊字符).

A.TXT:

1100110010
1100101100
0011001100
0110101111
.
.
.
Run Code Online (Sandbox Code Playgroud)

的Result.txt:

.....1001.
.....01100
.0.10...00
.1.01...11
.
.
.
Run Code Online (Sandbox Code Playgroud)

这可能是两个字符串的XOR问题,所以我尝试了这种方式,但它需要转换为ASCII然后XOR是可行的(可能这种方法不对).我认为有一种非常简单的方法可以用SED/PERL完成这项工作.任何建议和/或指导表示赞赏.感谢您阅读我的问题.

regex string bash perl

3
推荐指数
1
解决办法
139
查看次数

不要关心Perl中的符号

我想知道它是否是Perl中的Do not care符号(X).

我有一个50位二进制输入(实际上,我使用BigInt).如果输入与数据库中的数据匹配,我将返回一个预定义的值.

假设数据库中的数据是11001100100010110111110110101001000010110101111101.

如果输入是X1001100100010110111110110101001000010110101111101,我想认为它是一个匹配的情况,因为X可以是1或0.我知道一种方法在50个1位中分割50位并做出异常,但我更愿意处理50在一起.

test.pl(主要代码,看起来很乱,但操作很简单,读取数据库和输入文件,并返回一个输出文件,包括匹配情况的预定义值.由test.pl运行):

#!/usr/bin/perl 

use strict;
#use warnings;
use Math::BigInt;
#use Math::Gauss ':all';
#use Math::Gauss;
use 5.010;
use List::Util qw(sum);

my $Astrip="cmp_top.iop.sparc0.exu.rml.";
my $Aj=0;
my @Aoutput;
my $At=0;
my $Agen;
my @Aitems; my @Aweights;
my @Aitems_p; my @Aweights_p;
my $Ap=0;
my $Aselected_p = 0;
my $Atotal_p; my $Arand_p; my $Alimit_p;
my $Ai=0; my $Am=0; my $Ak=0;
my $Atotal; my $Arand; my $Alimit;
my $Aselected =0; my $Attemp=0; my $Ane=0; my $Asum=0;
my $Al=0; my $Attest=0;

#### …
Run Code Online (Sandbox Code Playgroud)

perl match conditional-statements

1
推荐指数
1
解决办法
291
查看次数

字符串的部分匹配,运算符(=〜)

我在我的脚本中使用"=〜"来比较两个字符串(两个字符串的长度是相同的.)以允许不关心条件.如果一个角色是"." 在字符串中,忽略该字符进行比较.换句话说,它是部分匹配的情况.

comp_test.pl:

#!/usr/bin/perl 

use strict;
use warnings;

my $a=".0.0..0..1...0..........0...0......010.1..........";
my $b="10.0..0..1...0..........0...0......010.1..........";
my $c=".0.0..0..1...0..........0...0......010.1..........";

if ($a =~ $b) {
print "a and b same\n";
}

if ($a =~ $c) {
print "a and c same\n";
}
Run Code Online (Sandbox Code Playgroud)

由于"."不关心条件,预期结果应该是"a和b相同"和"a和c相同".但是,目前,结果只是"a和c相同".请告诉我任何好的操作员或更改"." "x"可能有帮助吗?

regex string perl compare

0
推荐指数
1
解决办法
223
查看次数

标签 统计

perl ×3

regex ×2

string ×2

bash ×1

compare ×1

conditional-statements ×1

match ×1