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.
((yes).*(no))|((no).*(yes))
Passt zu einem Satz, der beides enthält yes
y no
zur gleichen Zeit, unabhängig von der Reihenfolge, in der sie erscheinen:
Do i like cookies? **Yes**, i do. But milk - **no**, definitely no.
**No**, you may not have my phone. **Yes**, you may go f yourself.
Werden beide übereinstimmen, ohne den Fall zu berücksichtigen.
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.