Cum se construiește un meci de regex în javascript

Am acest șir

[X=(any number)] (any character, include space) [/X]

Exemplu: [X = 5] Șir de test [/ X]

Am testat cu /(\ [) (X =) (\ d + \)) (\ w \ s \.) (\ [/ X \])/gi .

0
Validați-l și înlocuiți-l
adăugat autor Louis.CLast, sursa
Ok, acum pot să o fac să funcționeze: D cu /[[=/\]/gi
adăugat autor Louis.CLast, sursa
@ Louis.CLast. Înlocuiți ce? validezi ce?
adăugat autor gdoron, sursa
@ Louis.CLast: Sunteți sigur că nu doriți să scăpați din codul [ s/] s?
adăugat autor pimvdb, sursa
Ce încerci să faci cu șirul? Extrageți informațiile? A fost validată? Altceva?
adăugat autor Felix Kling, sursa

3 răspunsuri

var myregexp = /\[X=(\d+)\]([^[]*)\[\/X\]/g;

works for me, including if test string is multi-lines. Tested with RegexBuddy

0
adăugat

Utilizați acest regex :

/\[X=\d+\].+\[\/X\]/gi

Verifică dacă șirul dat este în formatul dorit.

0
adăugat
De ce strigi? :-)
adăugat autor Serge Wautier, sursa
@ Serge-appTranslator. CE ESTE SHOUTING !!! :-)
adăugat autor gdoron, sursa

Problema este că / trebuie să fie scapat de asemenea. De asemenea, nu este foarte util să grupați meciuri constante. În cele din urmă, vă potriveșteți (\ w \ s.) , dar acest lucru permite numai un singur cuvânt, un caracter spațial și un caracter de orice tip, în această ordine. Nu văd ce folosește asta. Încerca:

/\[X=(\d+)\](.+)\[\/X\]/gi

Aceasta va grupa cele două părți variabile.

0
adăugat
el mi-a sugerat \ w și \ s, și (. +), ca să pot fi mai ușor de înțeles. ([\ W \ s \ \ -.] +)
adăugat autor Louis.CLast, sursa
Cred că trebuie să înlocuiți . * cu . + .
adăugat autor gdoron, sursa
@gdoron: Nu pot face asta destul de bine, dar ar putea fi cazul.
adăugat autor pimvdb, sursa
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com