2015-02-05 95 views
-1

我想通过正则表达式找到带有5个字母的字符串。带n个字母的字符串

我想它是这样的:

/^.\{5}$ 

但这只是给我的字符串与行的开始5个字母,在文本并不是所有的字符串。

什么是表达式来查找所有5个字母的单词?

格鲁斯,安德烈

+0

你的问题不清楚。你想找到所有的5个字母的序列,或只是5个字母的单词?例如。 'abcdefg'里面有5个字母,如果匹配? – Barmar 2015-02-05 16:12:27

回答

0

使用\<\>作为词边界:/\v<[a-zA-Z]{5}>

\vMagic Search

0

使用[A-Za-z],而不是点在你的正则表达式。

^[A-Za-z]\{5}$ 

^断言我们是在开始。 $断言我们到最后。

OR

\<[A-Za-z]\{5}\> 

\<\>一句话叫做边界。

+0

这只能找到正好有5个字母的行。他想匹配线上任何地方的所有5个字母的单词。 – Barmar 2015-02-05 16:10:35

+0

然后他需要使用单词边界'\ <[A-Za-z] {5} \>'。 @Barmar是否有任何需要逃避'{'符号? – 2015-02-05 16:11:31

+0

除非使用'\ v',否则您需要转义'{5}'。 – 2015-02-05 16:14:18

0

摆脱^$,因为它们将匹配锚定到行的开始和结尾。如果您只需要字母,请使用[a-zA-Z]而不是.

因此[a-zA-Z]\{5}会找到任意5个字母的字符串。

0

使用\<\>表示开始和一个词的结尾:

\<[A-Za-z]\{5}\>

这个表达式5个字母词无处不在的线相匹配。