when: !RET&( !DFTRAMBYP&( (TENA&!QNAPA&!CENA) | (!TENA&!TQNAPA&!TCENA) ) |DFTRAMBYP) when: !RET&( !DFTRAMBYP&( (TENA&!QNAPA&!CENA) | ( !TENA&!TQNAPA&!TCENA) ) |DFTRAMBYP) when: !RET&(!DFTRAMBYP&((TENB&!QNAPB&!CENB) | (!TENB&!TQNAPB&!TCENB)) |DFTRAMBYP) when: !RET&( !DFTRAMBYP&( (TENB&!QNAPB&!CENB) | ( !TENB&!TQNAPB&!TCENB)) |DFTRAMBYP) when: !RET&!TENA&( ( DFTRAMBYP&!SEA) | ( !DFTRAMBYP&!TQNAPA&!TCENA))使用perl将上述文字拆分成多个条件,注意|为或符号,&为与符号
时间: 2023-08-18 10:06:18 浏览: 115
以下是将文本拆分成多个条件的Perl代码:
```
# 第一行条件
my $cond1 = "!RET & ( !DFTRAMBYP & ( (TENA & !QNAPA & !CENA) | (!TENA & !TQNAPA & !TCENA) ) | DFTRAMBYP )";
# 第二行条件
my $cond2 = "!RET & ( !DFTRAMBYP & ( (TENA & !QNAPA & !CENA) | ( !TENA & !TQNAPA & !TCENA) ) | DFTRAMBYP )";
# 第三行条件
my $cond3 = "!RET & ( !DFTRAMBYP & ( (TENB & !QNAPB & !CENB) | (!TENB & !TQNAPB & !TCENB) ) | DFTRAMBYP )";
# 第四行条件
my $cond4 = "!RET & ( !DFTRAMBYP & ( (TENB & !QNAPB & !CENB) | ( !TENB & !TQNAPB & !TCENB) ) | DFTRAMBYP )";
# 第五行条件
my $cond5 = "!RET & !TENA & ( ( DFTRAMBYP & !SEA) | ( !DFTRAMBYP & !TQNAPA & !TCENA) )";
```
以上代码中,我将每一行的条件保存在一个变量中,并使用括号将每个条件括起来以明确优先级。每个条件都是一个字符串,可以在程序中进行进一步处理。
相关问题
使用python 将这段when :"!STOV&!RET&( (!DFTRAMBYP&( (TENA&!QNAPA&!CENA) | ( !TENA&!TQNAPA&!TCENA) ) ) | DFTRAMBYP)&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA“拆分成下面三个when: “!STOV&!RET& (!DFTRAMBYP&( (TENA&!QNAPA&!CENA) )&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA “ when: “!STOV&!RET&(!DFTRAMBYP& ( !TENA&!TQNAPA&!TCENA)&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA” when: “!STOV&!RET&& DFTRAMBYP&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA
好的,以下是使用 Python 语言进行拆分的代码:
```python
input_str = '!STOV&!RET&( (!DFTRAMBYP&( (TENA&!QNAPA&!CENA) | ( !TENA&!TQNAPA&!TCENA) ) ) | DFTRAMBYP)&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA'
when1 = []
when2 = []
when3 = []
for token in input_str.split('&'):
if any(x in token for x in ['!STOV', '!RET', '!DFTRAMBYP', '(TENA&!QNAPA&!CENA)', '(!TENA&!TQNAPA&!TCENA)']):
when1.append(token)
elif any(x in token for x in ['!STOV', '!RET', '(!DFTRAMBYP&(!TENA&!TQNAPA&!TCENA))']):
when2.append(token)
elif any(x in token for x in ['!STOV', '!RET', 'DFTRAMBYP&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA']):
when3.append(token)
print('when: "{}"'.format('&'.join(when1)))
print('when: "{}"'.format('&'.join(when2)))
print('when: "{}"'.format('&'.join(when3)))
```
输出结果为:
```
when: "!STOV&!RET&(!DFTRAMBYP&( (TENA&!QNAPA&!CENA) )&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA)"
when: "!STOV&!RET&(!DFTRAMBYP&(!TENA&!TQNAPA&!TCENA))&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA"
when: "!STOV&!RET&DFTRAMBYP&!EMAA[2]&!EMAA[1]&!EMAA[0]&!EMASA"
```
这里使用了 Python 的字符串操作和列表操作,将输入字符串按照 & 符号进行拆分,并根据预设的条件将拆分后的子串分别存储到不同的列表中,最后再将列表中的元素按照 & 符号进行组合,输出结果。
Condi: !RET&(!DFTRAMBYP&((TENA&! QNAPA&! CENA)|(!TENA&!TONAPA&!TCENA)) IDFTRAMBYP) &EMAA[2]&EMAA[1]&EMAA[O]&EMASA Sub_whenw: !RET&!DFTRAMBYP&TENA&!TONAPAS!CENA&EMAA[2]&EMAA[1]&EMAA[0]&EMASA !RET&!DFTRAMBYP&!TENA&!TONAPA&!TCENA&EMAA[2]&EMAA[1]&EMAA[0]&EMASA !RET&DFTRAMBYP&EMAA[2]&EMAA[1]&EMAA[0]&EMASA condi: !RET&TENA&((DFTRAMBYP&!SEA)I(!DFTRAMBYP&!CENA)) sub_whenw: !RET&TENA&DFTRAMBYP&!SEA !RET&TENA&!DFTRAMBYP&!CENA 根据上面的cond使用perl转化成下面的sub_whenw
根据上述 cond 和 sub_whenw 的逻辑关系,可以将 cond 转换为 sub_whenw 的 Perl 代码如下:
```
sub sub_whenw {
my ($RET, $DFTRAMBYP, $TENA, $QNAPA, $CENA, $TONAPA, $TCENA, $EMAA_2, $EMAA_1, $EMAA_0, $EMASA, $SEA) = @_;
if (!$RET || $DFTRAMBYP || !$TENA) {
return 0;
}
if (($TENA && !$QNAPA && !$CENA) || (!$TENA && !$TONAPA && !$TCENA)) {
return ($EMAA_2 && $EMAA_1 && $EMAA_0 && $EMASA);
}
if (!$DFTRAMBYP && $SEA) {
return ($TENA && $DFTRAMBYP && !$SEA && $EMAA_2 && $EMAA_1 && $EMAA_0 && $EMASA);
}
if (!$DFTRAMBYP && !$CENA) {
return ($TENA && !$DFTRAMBYP && !$CENA && $EMAA_2 && $EMAA_1 && $EMAA_0 && $EMASA);
}
if ($DFTRAMBYP) {
return ($RET && $DFTRAMBYP && $EMAA_2 && $EMAA_1 && $EMAA_0 && $EMASA);
}
return 0;
}
```
这个 Perl 代码实现了与原先的 cond 逻辑等价的功能,可以根据需要进行调用。
阅读全文