如何创建一个匹配以下条件的perl正则表达式?Perl正则表达式限制单词长度
- 字长应大于4个字符。
- 不得包含任何非字母字符(即
. - " ,
)
所以像词语 “BARBAR ..”, “条”, “巴..” 应在匹配拒绝。
如何创建一个匹配以下条件的perl正则表达式?Perl正则表达式限制单词长度
. - " ,
)所以像词语 “BARBAR ..”, “条”, “巴..” 应在匹配拒绝。
你的意思是一个单词长度超过4个字符,只包含字母?
这将匹配从AZ,不区分大小写的5个或多个字母:
/^[a-zA-Z]{5,}$/
而是字母的,如果你想允许字母数字,你可以使用这个/^\w{5,}$/
(它也将匹配“_” )
\ w通常在ASCII中匹配字母数字。对于一些例外情况,请参阅思南在这篇文章中的答案How can I validate input to my Perl CGI script so I can safely pass it to the shell?
这将允许数字(如你所说),但也强调('_')。 – Nightfirecat
对不起,我错过了。感谢您的确认,将更新 – SAN
我会采取Nightfirecat的答案,并添加词边界来捕捉单词 - 他是一个完整的字符串。
/\b[a-zA-Z]{5,}\b/
这将适用于匹配应该被包含为字符串的一部分(并且可能是整个字符串)的情况下,我的专用于如果它应该是整个字符串。 – Nightfirecat
是的,这个问题并不清楚。 –
澄清你的意思,第二部分,它的措辞很尴尬。 –
@Sean:已更新。 – neversaint