0

文字列としてテストする正規表現を作成しようとしています。文字列は英数字で開始または終了する必要があります。

例えば。

test - OK
test$ - OK
$test - OK
$ - not OK
$test$ - not OK

で始まり、^\w.*$で終わりをテストでき^\w.*$ます。

しかし、それらを のようなものに結合することはできないようです^.*\w$ | ^\w.*$

この目的のためのアイデアやより良い正規表現を持っている人はいますか?

4

2 に答える 2

3

以下が機能するはずです。

/^\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
于 2010-11-05T17:38:56.250 に答える
0

これはうまくいくはずです:

^\w.*|.*\w$
于 2010-11-05T17:37:24.020 に答える