限制单词长度的 Perl 正则表达式

发布于 2024-12-16 19:59:17 字数 161 浏览 0 评论 0原文

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

  1. 字长应大于 4 个字符。
  2. 不应包含任何非字母字符(即 . - " , ),

因此在匹配时应拒绝诸如“barbar..”、“bar.”、“ba..”之类的单词。

How do you create a perl regex that matches the following conditions?

  1. Word length should be greater than 4 characters.
  2. Should not contain any non alphabetical characters (i.e. . - " , )

So words like "barbar..", "bar.", "ba.." should be rejected in matching.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷荒 2024-12-23 19:59:17

您的意思是一个单词长度超过 4 个字符,并且仅包含字母字符吗?

这将匹配 az 中的 5 个或更多字母,不区分大小写:

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

Do you mean for a word to be longer than 4 characters, and only to contain alpha-characters?

This will match 5 or more letters from a-z, non-case-sensitive:

/^[a-zA-Z]{5,}$/
很糊涂小朋友 2024-12-23 19:59:17

我会采用 Nightfirecat 的答案并为其添加单词边界以捕获单词 - 他是针对整个字符串。

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

I would take Nightfirecat's answer and add word boundaries to it to catch words - his is for an entire string.

/\b[a-zA-Z]{5,}\b/
与君绝 2024-12-23 19:59:17

除了字母之外,如果您想允许字母数字,您可以使用此 /^\w{5,}$/ (它也会匹配 '_')

\w 通常匹配 ASCII 中的字母数字。对于一些例外情况,请参阅 Sinan 在这篇文章中的回答 如何验证 Perl 的输入CGI 脚本以便我可以安全地将其传递给 shell?

Instead of alphabets, if you want to allow alphanumeric you can use this /^\w{5,}$/ (It will also match '_')

\w normally matches alphanumeric in ASCII. For some of the exceptions, see the answer by Sinan in this post How can I validate input to my Perl CGI script so I can safely pass it to the shell?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文