正则表达式或运算符

时间:2010-11-05 17:33:28

标签: .net regex xval

我正在尝试编写一个正则表达式来测试为字符串。该字符串必须以字母数字字符开头或结尾。

例如

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

我可以使用^\w.*$测试开头,使用^\w.*$测试结尾。

但我似乎无法将它们组合成^.*\w$ | ^\w.*$

有没有人为此目的有任何想法甚至更好的正则表达式?

2 个答案:

答案 0 :(得分:2)

以下内容应该有效:

/^\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

答案 1 :(得分:0)

这应该有效:

^\w.*|.*\w$