regex 如何使用正则表达式查找包含西里尔字母的所有单词?[已关闭]

gc0ot86w  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(131)

5天前关闭。
此帖子在12小时前编辑并提交审查。
Improve this question
我基本上想找到所有包含西里尔字母的单词,看看这些单词的数量。
我在VScode中使用带有regex输入的全局搜索,它会查看项目中的所有文件。
我已经搜索了所有类似的情况,但仍然不能找出适合我的情况的正则表达式模式。
到目前为止,我的正则表达式变体大致如下:

\b[А-Яа-яЁё]\b
p4rjhz4m

p4rjhz4m1#

您的模式不起作用,因为您的模式与1个字母的单词匹配。快速解决方法:
“匹配由一个或多个西里尔字母组成的所有字符串”
[А-Яа-яЁё]+
请注意,您不需要使用单词边界,因为您已经只匹配字母。
如果由于某种原因,你的单词中还包含非西里尔字母,那么你就需要更进一步:
您的承诺:

  • 以零个或多个西里尔/拉丁字母开头(非贪婪)
  • 后面跟着一个西里尔字母
  • 以零个或多个西里尔/拉丁字母结尾

[А-Яа-яЁёA-Za-z]*?[А-Яа-яЁё][А-Яа-яЁёA-Za-z]*
这匹配任何长度的单词以及西里尔字母和拉丁字母的任何组合,只要它有一个西里尔字母。

6kkfgxo0

6kkfgxo02#

我想这个图案也达到了我想要的效果。

\b\w*[А-Яа-яЁё]\w*\b

相关问题