我想通过正则表达式找到带有5个字母的字符串。带n个字母的字符串
我想它是这样的:
/^.\{5}$
但这只是给我的字符串与行的开始5个字母,在文本并不是所有的字符串。
什么是表达式来查找所有5个字母的单词?
格鲁斯,安德烈
我想通过正则表达式找到带有5个字母的字符串。带n个字母的字符串
我想它是这样的:
/^.\{5}$
但这只是给我的字符串与行的开始5个字母,在文本并不是所有的字符串。
什么是表达式来查找所有5个字母的单词?
格鲁斯,安德烈
使用\<
和\>
作为词边界:/\v<[a-zA-Z]{5}>
。
\v
是Magic Search。
使用[A-Za-z]
,而不是点在你的正则表达式。
^[A-Za-z]\{5}$
^
断言我们是在开始。 $
断言我们到最后。
OR
\<[A-Za-z]\{5}\>
\<
,\>
一句话叫做边界。
这只能找到正好有5个字母的行。他想匹配线上任何地方的所有5个字母的单词。 – Barmar 2015-02-05 16:10:35
然后他需要使用单词边界'\ <[A-Za-z] {5} \>'。 @Barmar是否有任何需要逃避'{'符号? – 2015-02-05 16:11:31
除非使用'\ v',否则您需要转义'{5}'。 – 2015-02-05 16:14:18
摆脱^
和$
,因为它们将匹配锚定到行的开始和结尾。如果您只需要字母,请使用[a-zA-Z]
而不是.
。
因此[a-zA-Z]\{5}
会找到任意5个字母的字符串。
使用\<
和\>
表示开始和一个词的结尾:
\<[A-Za-z]\{5}\>
这个表达式5个字母词无处不在的线相匹配。
你的问题不清楚。你想找到所有的5个字母的序列,或只是5个字母的单词?例如。 'abcdefg'里面有5个字母,如果匹配? – Barmar 2015-02-05 16:12:27