Ich wurde gebeten, ein Perl-Skript in Python zu konvertieren.
Ich habe keine Kenntnisse über Perl-Skripting.
Das Perl-Skript enthält diese Codezeilen:
1. if ($option =~ "Fed5")
2. if (($option =~ m/Fed5/i) && ($option =~ m/KD/i))
3. if (($option =~ m/Fed5/i) && ($option !~ m/KD/i))
Ich habe verstanden, dass dies mit Perl Regex zusammenhängt.
Bitte lassen Sie mich wissen, wie ich ein Python-Äquivalent der obigen Anweisungen erhalten kann.
Antworten:
1 für die Antwort № 11. if ($option =~ "Fed5")
äquivalenter Python-Code:
if re.search(r"Fed5", option):
Perl-Code:
2. if (($option =~ m/Fed5/i) && ($option =~ m/KD/i))
äquivalenter Python-Code:
if re.search(r"(?i)Fed5", option) and re.search(r"(?i)KD", option):
Perl-Code:
if (($option =~ m/Fed5/i) && ($option !~ m/KD/i))
äquivalenter Python-Code:
if re.search(r"(?i)(?!.*kd)Fed5", option):
Ich habe die dritte Bedingung gekürzt.
ODER verwenden Sie eine Doppel-If-Bedingung.
if re.search(r"(?i)Fed5", option):
if not re.search(r"(?i)kd", option):
1 für die Antwort № 2
Das m in Perl bedeutet nur, dass die Regex zwischen // und das / i ist ein Modifikator, der besagt, den Fall zu ignorieren.
http://perldoc.perl.org/functions/m.html
Der Operator = ~ ist ein Bindeoperator: http://perldoc.perl.org/perlop.html#Binding-Operators
Damit:
- Passen Sie die Zeichenfolge Fed5 an
- Match die Zeichenfolge Fed5 Ignorieren Fall, und passen Sie die Zeichenfolge KD auch Groß-und Kleinschreibung.
- Match die Zeichenfolge Fed5 ignorieren Fall, und nicht KD passen auch ignorieren Fall.