Ich möchte Regex verwenden, um die Zeichenfolge im folgenden Format entsprechen: (# sometext #)Spezifische Muster in Regex passend in Javascript
Im Sinne, was auch immer es ist zwischen (# und #) sollte nur sein abgestimmt. So ist der Text:
var s = "hello(%npm%)hi";
var res = s.split(/(\([^()]*\))/);
alert(res[0]);
o/p: hello(%npm%)hi
Und
var s = "hello(#npm#)hi";
var res = s.split(/(\([^()]*\))/);
alert(res[0]);
o/p: hello
alert(res[1]);
o/p : (#npm#);
Aber die Sache ist, einschließlich (# .. #)
wie die Regex /(\([^()]*\))/
ist passend alles zwischen ()
anstatt die Zeichenfolge zu extrahieren:
hello
(#npm#)
hi
Sie können etwas wie '.match (/ \ (# ([^ #] *) # \) /) 'tun, wenn Sie die Teile außerhalb der Klammern nicht benötigen. (Warum benutzt du '.split()'? Wenn du das wirklich machen willst dann vielleicht sowas wie 's.split (/ (\ (# | # \)) /)'?) – nnnnnn
@nnnnnn: habe ich bearbeitet die Frage – user1400915
Versuchen Sie dies: s.match (/ (\ (# ([^ #] *) # \)) /); – user2630764