reg exp表示字符串和任何数字

时间:2017-01-15 18:52:49

标签: javascript regex

我有一个字符串,可以是50px,或<!--someWord1--><!--newWord1233123123-->。在评论中可以是任何单词,或任何数字的单词。我试试这个reg exp <!--thirdWord-->并且它工作正常,但有一些问题:)数字如10,20等等。好吧,认为/[a-zA-Z1-9]+/将解决它,但不是。 /[a-zA-Z0-9]+/只能找到一些Word1。哪里我错了?

2 个答案:

答案 0 :(得分:2)

试试这个/\w+/。它将匹配字母和数字(字母后跟数字)。

答案 1 :(得分:1)

你的字符串看起来非常规律,所以为什么不利用那个

Regular expression visualization

let re = /<!--([a-z]+\d*)-->/i;
'<!--someWord1-->'.match(re); // ["<!--someWord1-->", "someWord1"]
'<!--newWord1233123123-->'.match(re); // ["<!--newWord1233123123-->", "newWord1233123123"]
'<!--thirdWord-->'.match(re); // ["<!--thirdWord-->", "thirdWord"]
'<!--someWord10-->'.match(re); // ["<!--someWord10-->", "someWord10"]

此处re更严格,因此以下内容不会通过测试

'foo'.match(re); // null (missing HTML comment)
'foo1'.match(re); // null
'<!--foo'.match(re); // null (malformed HTML comment)
'foo-->'.match(re); // null

'<!--foo1bar-->'.match(re); // null (number not at end)
'<!-- foo -->'.match(re); // null (spaces, you could add these in using \s*)