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

odopli94  于 2023-01-14  发布在  其他
关注(0)|答案(3)|浏览(84)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

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

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

zpgglvta1#

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

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

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

cbeh67ev

cbeh67ev2#

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

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

h9vpoimq3#

可以使用下面的正则表达式查找Visual Studio代码中包含俄语(西里尔字母)字母的所有单词:
[阿-阿-阿
这个正则表达式使用单词边界\b来确保只匹配完整的单词,并使用字符范围[А-а-я ё]来匹配任何俄语(西里尔)字母。
若要在Visual Studio代码中搜索正则表达式,请按Ctrl+Shift+F(Mac上为Cmd+Shift+F)打开"在文件中查找“窗格,然后在“查找”字段中输入正则表达式。按“Enter”开始搜索。
注意:上述正则表达式只匹配只包含西里尔字母的单词,如果您想匹配包含西里尔字母的单词,您可以使用[А-а-я ё]代替\b[А-а-я ё]+\b

相关问题