Регулярное выражение или оператор
Вопрос
Я пытаюсь написать регулярное выражение, чтобы проверить как строку. Строка должна запустить или заканчиваться буквенно -цифровым символом.
например.
test - OK
test$ - OK
$test - OK
$ - not OK
$test$ - not OK
Я могу проверить начало с ^\w.*$
И конец с ^\w.*$
.
Но я не могу объединить их в что -то вроде ^.*\w$ | ^\w.*$
.
У кого -нибудь есть какие -либо идеи или даже лучшая регуляция для этой цели?
Решение
> ??? ?????? ????????:
^\w.*|.*\w$
Другие советы
> ?????? ????????:
/^\w|\w$/
> ???? \w
???????? _
??? ??? ???? ?? ?????? ?????? ????? ? ?????:
/^[0-9a-zA-Z]|[0-9a-zA-Z]$/
>
var tests=['test', 'test$', '$test', '$', '$test$'];
var re = /^\w|\w$/;
for(var i in tests) {
console.log(tests[i]+' - '+(tests[i].match(re)?'OK': 'not OK'));
}
// Results:
test - OK
test$ - OK
$test - OK
$ - not OK
$test$ - not OK
Не связан с StackOverflow