Как взять каждый из них и объединить их в одно выражение regEx?Как скомпоновать выражения regEx
var t = "<test>";
t = t.replace(/^</, '');
t = t.replace(/>+$/, '');
, что приводит к т равным проверить без <>
Как взять каждый из них и объединить их в одно выражение regEx?Как скомпоновать выражения regEx
var t = "<test>";
t = t.replace(/^</, '');
t = t.replace(/>+$/, '');
, что приводит к т равным проверить без <>
Вы можете использовать трубу |
. В регулярном выражении это означает OR:
t = "<test>>".replace(/^<|>+$/g, "");
// "test"
Но, конечно же, вы можете использовать другие способы, как:
t = "<test>>".replace(/[<>]/g, "");
// "test"
или даже с матча:
t = "<test>>".match(/\w+/)[0];
// "test"
Убедитесь, что вы добавили g
-global flag при необходимости. Этот флаг обозначает все вхождения.
первый из тех, что я искал, и я пробовал его, но не имел глобального флага, поэтому он заменял только первый < – MtnManChris
Попробуйте
t = t.replace(/^</, '').replace(/>+$/, '');
Если вы хотите его в одной строке, используйте | сочетать регулярное выражение .. Как этот
t = t.replace(/^<|>+$/g, "");
или захвата групп, как этот
t = t.replace(/^<(.*)>+$/g, '$1');
OP специально запросил одно регулярное выражение ... – Siguza
мой плохой .. прочитайте его как одну строку. ll отредактировать ответ –
Если я правильно понимаю, что вы хотите заменить только начало «<» символов и заканчивая «>» символов, попробуйте это один [>$^<]
var t = "<test>";
t = t.replace('/[>$^<]/', '');
, это не сработало. Во-первых, это не регулярное выражение, поэтому он будет искать замену строкового литерала '[> $^<]' на ''. Во-вторых, если я делаю это регулярное выражение, он заменяет только < not the > – MtnManChris
Фактически это будет работать, если вы добавите g для глобального флага ... t = t.replace (/ [> $^<]/g, ''); – MtnManChris
О да, извините, я использовал цитаты вместо косой черты, проверьте мой обновленный ответ –
Используйте «или» оператор '|'? – HamZa