Ich möchte ein JS-Regex-Muster erstellen, das übereinstimmt, wenn die Zeichenfolge entweder <
oder {
enthält, aber ich weiß nicht, wie man einen or
Bedingungstyp im Muster verwendet. Ich weiß, dass ?
werden Sie 0 oder 1 eines Charakters geben, aber ich möchte zumindest von 1 <
oder {
Wie erstelle ich ein Regex-Muster in JS, das einem String entspricht, wenn es mindestens ein "<" ODER ein "{"?
Antwort
können Sie eckige Klammern verwenden ([]
) eine Liste zu erzeugen, von denen die Regex einem passt auf der Zeichen. Daher <
oder {
Verwendungszweck anzupassen:
[<{]
Beispiel (Matched Abschnitt fett):
[<{].*[>}]
< Dies wird passen>
{So wird dies}
oder
[<{]
< Nur der erste Halter passt>
{ Nur die erste Klammer entspricht}
Hinweis: Sprache und verwendete Funktionen sind ebenfalls zwingend erforderlich. Stellen Sie sicher, dass Sie wissen, wie die Funktion funktioniert, damit Sie wissen, was Sie davon erwarten können.
Here ist ein Link zu MDN-Dokumentation von Regexp.match, die hilfreich sein könnte. Sehen Sie sich auch ihre Links zu anderen Funktionen und Informationen an.
wird es übereinstimmen, solange es ein ONE Charakter gibt? ist das Standardverhalten auch ohne das '?' – akantoword
@akantoword Es wird * genau * ein Zeichen entsprechen. Es passt nicht (als Teil eines größeren Musters), wenn es nicht das eine oder das andere gibt. Das '?' Würde erlauben, dass es keine Charaktere gibt und immer noch passt. – rtmh
Einfache Lösung mit RegExp.test
Funktion:
var re = /([<]|[{])/;
console.log(re.test("test{one<}")); // true
console.log(re.test("test{")); // true
console.log(re.test("test-->")); // false
([<]|[{])
- Spiele entweder <
oder {
.
Wechsel ist keine gute Idee, da sie schlechtere Leistung als Zeichenklassen haben. Doing '[<{]' ist viel effizienter. Übrigens brauchen Sie keine Zeichenklassen für '<' und '{' wenn Sie wollen, dass das Literal '' '' '' '' '' '' den Trick verwendet, obwohl '[<{]' besser ist. –
@FedericoPiazza, das war zur Demonstration für die OPs * ein OR-Typ der Bedingung im Muster *. – RomanPerekhrest
Nicht zu sagen, die Antwort ist falsch, eigentlich ist gut. Ich habe nur kommentiert, um weitere Details zur Verwendung hinzuzufügen, falls OP mit Änderungen fortfahren möchte. Übrigens müssen Sie keine Zeichenklassen verwenden, um den Zeichen mit '<| {' zu entkommen. –
- 1. prüfen, ob ein String ein gültiger RegexMuster ist VB.NET
- 2. Gibt es ein S4, das unlist() entspricht?
- 3. Wie erstelle ich ein UserControl <T> in C#?
- 4. Wie validiere ich, wenn ein String ein gültiges Datum in js ist
- 5. Wie erstelle ich ein JSoup-Dokument mit JS?
- 6. Wie erstelle ich ein Kartensymbol?
- 7. Wie erstelle ich ein jqGrid
- 8. Aktivieren Sie "mindestens ein Element in der Ergebnissammlung entspricht Prädikat"
- 9. Wie erstelle ich ein Singleton?
- 10. Wie erstelle ich ein Sternenbewertungssystem?
- 11. Wie erstelle ich ein PDF?
- 12. Wie erstelle ich ein Frühlingsprojekt?
- 13. Wie erstelle oder ersetze ich ein Dokument in Elasticsearch?
- 14. Wie erstelle ich ein Leinwandauswahlwerkzeug?
- 15. Wie erstelle ich ein Überglas in Ceylon
- 16. Wie erstelle ich ein Array eines String-Objekts in PHP?
- 17. Wie deserialize ich ein JSON-Dokument in ein Dictionary <string, Liste <object>>
- 18. Wie erstelle ich ein Formular aus einem JSON-Schema?
- 19. Wie erstelle ich ein mehrstufiges Webformular?
- 20. Wie erstelle ich ein Speicherleck in JavaScript?
- 21. Wie erstelle ich ein Verzeichnis in Lua?
- 22. Wie erstelle ich ein mp3 aus einem Spektrogramm in Python?
- 23. In einem Visual Studio-Installationsprojekt, Wie erstelle ich ein Deinstallationsskript?
- 24. Wie erstelle ich ein "addons" -Verzeichnis in einem Django-Projekt?
- 25. Wie erstelle ich ein Wenn-Dann-Sonst in T-SQL
- 26. Wie erstelle ich ein Etikett in einem Element?
- 27. Filter-Dateien, wenn ihre Erweiterung entspricht einem RegexMuster
- 28. Wie erstelle ich ein Statusdialogfeld in Excel
- 29. Wie erstelle ich ein Anfrageobjekt in Django?
- 30. Wie erstelle ich ein benutzerdefiniertes SearchView?
Die Eingabezeichenfolge für gültiges und ungültiges Ergebnis anzeigen – RomanPerekhrest
In welcher Sprache arbeiten Sie? Das Konzept, das Sie verwenden möchten, ist "Regex Union", aber die Implementierung ist sprachabhängig, so dass wir keine genaue Antwort geben können, ohne dies zu wissen. – Kadima
die Sprache, die ich benutze, ist Javascript und ich habe versucht, etwas wie 'pattern =/[<{] /; var str = "
akantoword