如何使用 Ruby 正则表达式捕获非英语单词?

发布于 2024-11-14 01:29:02 字数 139 浏览 2 评论 0原文

我正在尝试使用 Ruby 1.8.7 验证“单词”。

我目前捕获单词的正则表达式是:

/[a-zA-Z]\'*\-*/

这只会捕获英语单词;有没有办法捕获非英语 UTF-8 字符?

I am trying to validate 'words' with Ruby 1.8.7.

My regex to catch a word is currently:

/[a-zA-Z]\'*\-*/

This will only catch English words; Is there a way to catch non-English UTF-8 characters?

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

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

发布评论

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

评论(1

瑕疵 2024-11-21 01:29:02

即使 1.8.x 正则表达式引擎也支持 UTF-8,您只需要使用正确的表达式,它比仅使用 /\w/ 稍微多一点:

s = "résumé and some other words"
puts s[/[a-z]+/u]
puts s[/\w+/u]

您会得到:

r
résumé

Even the 1.8.x Regex engine is UTF-8 aware, you just need to use the right expression, and it's slightly more than just using /\w/:

s = "résumé and some other words"
puts s[/[a-z]+/u]
puts s[/\w+/u]

and you get:

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