regex - 正则表达式在word中查找大写字符
问题描述
我正在使用正则表达式对文本文件进行文本格式化。我找到
\b\w*[А-Ш]{2,}\w*
将找到所有大部分是大写的单词并执行它。但是我怎样才能找到单词中有大写的单词,但在新句子中却找不到呢?
下面的示例文本:
ТИКВЕШ – акумулациона ХЦ (дел од повеЌенаменскиот хидросистем) во долниот тек на Црна Река, недалеку од Кавадарци. Првите два агрегата се во погон од 1968, а третиот и четвртиот од 1981 г. ТурбИните се од типот францис. Вкупната инсталирана моЌност изнесува 116 МЊ. Во периодот 1992-2003 г. просечното годиШно проиЗводство изнесувало 135,1 ГЊх, а најголемото 289,9
ЛИТ: 50 години македонско електрОстопанство, Скопје, 1995; Ј.П. „Електростопанство на Македонија#, Скопје, 1999; Електростопанство на Македонија, годиШен извеШтај, 2003; Др. Р.
„ТИКВЕШ# (Кавадарци, 30. И ‡ 31. ВИИ 1942) ‡ весник на
解决方案
这应该适合你
(?<!\. |^|\pL)\pL*[А-Я]+\pL*
(?<!\. |^|\pL)
是消极的回顾。.
只有当您的字符串前面没有空格,或者它是行首时,它才匹配。我还添加了一个案例,\pL
因为由于某种原因\b
似乎不适用于其他语言。
\pL*
匹配任何语言的 0 个或多个字符
[А-Я]+
匹配一个或多个大写西里尔字母
\pL*
那么我们当然会再次匹配来自任何语言的 0 个或多个字符
PS 我对西里尔字母不是很熟悉,所以如果有什么不对劲的地方请告诉我。
推荐阅读
- spring-boot - 有没有办法将 Azure Functions 中的文件名 local.settings.json 更改为不同的名称
- algorithm - 写[(m + n)^m] / m是否有效!作为 O([n / m]^m) 作为其宽松的上限?
- javascript - 表格宽度:100% 调整窗口大小
- javascript - 我们如何使用方向服务在 Google 地图中应用动态折线颜色
- azure-devops - 存储库的所有构建定义
- python - pyomo 中的动态变量定义中的错误消息
- python - 您如何通过按回车键来引入由换行符\n 完成的输入?
- javascript - 会话存储的逻辑问题 - 刷新时记住类 - jQuery
- git - Visual Studio 2015 - Git Fetch 返回远程服务器返回错误:(401)未经授权
- python - 遍历Python中文件夹内的所有文件