Perl Regex限制单词长度

时间:2011-11-18 02:46:40

标签: regex linux perl unix

如何创建符合以下条件的perl正则表达式?

  1. 字长应大于4个字符。
  2. 不应包含任何非字母字符(即. - " ,
  3. 所以像“barbar ..”,“bar。”,“ba ..”这样的词语在匹配时应该被拒绝。

3 个答案:

答案 0 :(得分:6)

你的意思是一个单词超过4个字符,并且只包含字母字符吗?

这将匹配来自a-z的5个或更多字母,不区分大小写:

/^[a-zA-Z]{5,}$/

答案 1 :(得分:1)

我会接受Nightfirecat的回答并添加单词边界来捕捉单词 - 他是整个字符串。

/\b[a-zA-Z]{5,}\b/

答案 2 :(得分:0)

如果你想允许使用字母数字,而不是字母,你可以使用这个/^\w{5,}$/(它也会匹配'_')

\ w通常与ASCII中的字母数字匹配。对于某些例外情况,请参阅本文How can I validate input to my Perl CGI script so I can safely pass it to the shell?

中Sinan的答案