Вопрос

Я пытаюсь написать регулярное выражение, чтобы проверить как строку. Строка должна запустить или заканчиваться буквенно -цифровым символом.

например.

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top