Javascript 如何在regexp中使用^?
我希望字符串以[a-z]开头,下一个符号可以是[a-zA-Z0-9],所以我做了:Javascript 如何在regexp中使用^?,javascript,regex,Javascript,Regex,我希望字符串以[a-z]开头,下一个符号可以是[a-zA-Z0-9],所以我做了: ^[a-z]*\S 但这不起作用 如果没有“^”,则可以正常工作,但允许字符串以大写字母和数字开头 示例: aaaa - should be ok 2aa - should be false a - ok 1 - false Asdf - false aDS3r - ok ssdfg2 - ok 看起来您应该将*更改为+以从[a-z]捕获至少一个符号,并且\S应该不是必需的 ^[a-z]+\S* 改为这
^[a-z]*\S
但这不起作用
如果没有“^”,则可以正常工作,但允许字符串以大写字母和数字开头
示例:
aaaa - should be ok
2aa - should be false
a - ok
1 - false
Asdf - false
aDS3r - ok
ssdfg2 - ok
看起来您应该将*更改为+以从[a-z]捕获至少一个符号,并且\S应该不是必需的
^[a-z]+\S*
改为这样做:
^[a-z]\w*
下面的片段
数组=[aaaa、2aa、a、1、Asdf、aDS3r、ssdfg2];
array=array.mapfunctionx{
返回x.replace/^[a-z]\w*/g,TRUE
};
console.logarray最有可能在“^S”之后移动“*”。您了解“^S”的作用吗?\S与[a-zA-Z0-9]不同\S表示没有空格,但它可以包含远不止字母和数字。。。至少在我所知道的各种实现中。此评论也适用于忽略此细节的答案。@CPerkins是的,我更新了答案以考虑到这一点