Natürlich können Sie die |
(Rohr?) zu repräsentieren OR
aber gibt es eine Möglichkeit, die AND
auch?
Konkret möchte ich Textabschnitte abgleichen, die ALLE einen bestimmten Satz enthalten, aber in keiner bestimmten Reihenfolge.
Natürlich können Sie die |
(Rohr?) zu repräsentieren OR
aber gibt es eine Möglichkeit, die AND
auch?
Konkret möchte ich Textabschnitte abgleichen, die ALLE einen bestimmten Satz enthalten, aber in keiner bestimmten Reihenfolge.
Verwenden Sie AND außerhalb des regulären Ausdrucks. In PHP scheint der Lookahead-Operator bei mir nicht zu funktionieren, stattdessen habe ich Folgendes verwendet
if( preg_match("/^.{3,}$/",$pass1) && !preg_match("/\s{1}/",$pass1))
return true;
else
return false;
Die obige Regex passt, wenn das Passwort mindestens 3 Zeichen lang ist und keine Leerzeichen enthält.
Hier ist eine mögliche "Form" für den Operator "und":
Nehmen Sie die folgende Regex als Beispiel:
Wenn wir Wörter ohne das "e"-Zeichen finden wollen, können wir so vorgehen:
/\b[^\We]+\b/g
\W
bedeutet NICHT ein "Wort"-Zeichen.^\W
bedeutet ein "Wort"-Zeichen.[^\We]
bedeutet ein "Wort"-Zeichen, aber nicht ein "e".in Aktion sehen: Wort ohne e
Ich denke, dieses Muster kann als " " verwendet werden. y "Operator für reguläre Ausdrücke.
Im Allgemeinen, wenn:
A = not a
B = not b
dann:
[^AB] = not(A or B)
= not(A) and not(B)
= a and b
Wenn wir also das Konzept der Differenzmenge in regulären Ausdrücken zu verwenden, könnten wir dies tun:
a - b = a and not(b)
= a and B
= [^Ab]
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
2 Stimmen
Meinen Sie damit, dass Sie Phrasen in einem Text finden wollen, wobei jede dieser Phrasen eine gültige Permutation der Wörter in einer gegebenen Phrase ist?
3 Stimmen
Ich stelle das hier rein, weil drei oder vier Antworten es ignorieren. Lookahead stimmt nicht für jede Klausel mit der gleichen Länge überein, es sei denn, sie enden auf $. Ein Lookahead könnte auf vier Zeichen passen, ein anderer auf 6. Zum Beispiel wird (?=a*)(?=aab) mit aabaaaaba übereinstimmen.
4 Stimmen
Versuchen Sie, nur das "Leerzeichen" für den Operator "AND" zu verwenden.
0 Stimmen
1.
I'd like to match paragraphs of text
. 2. Enthält außer Betrieb Text. Nummer 1 ist offen für Interpretationen. Für Nummer 2 gibt es mehrere Möglichkeiten. Weg 1:(?:(?:(?(1)(?!))\b(phrase1)\b.*?|(?(2)(?!))\b(phrase2)\b.*?)){2}
, Weg 2:(?=.*\bphrase1\b)(?=.*\bphrase2\b)
wobei die Übereinstimmung des Absatzes in diesem Fall unbestimmt ist, bis die Definition des Absatzes formalisiert ist.