我有这个正则表达式:/^[a-zA-Z'.,-]{5,500}$/
但它不会将a
或I
这样的独立字母视为整个字词。我想知道如何改变它,所以字母被视为单词,数字被忽略。
谢谢。
答案 0 :(得分:0)
将其更改为以下内容:
var pattern = /^[a-zA-Z'.,-]{1,500}$/;
↑
答案 1 :(得分:0)
当您需要匹配字时,您应该留意^
和$
。您需要word boundaries:\b
。
/\b[a-z'.,-]{1,500}\b/gi
这将允许在更大的输入字符串中匹配整个单词。此外,限制量词{5,500}
实际上可以防止匹配长度小于5个字符的单词。我们把它作为{1,500}
,但我怀疑有一个真正的正常字那么长。 :)
var re = /\b[a-zA-Z'.,-]{1,500}\b/gi;
var str = 'I have seen the film before.';
alert(str.match(re));