我写了一个正则表达式,它可以工作,但它看起来很难看
^(.*\s|.*[^а-яА-ЯёЁ]|.{0})(МКУ|ИП)(\s.*|.*[^а-яА-ЯёЁ]|.{0})$
任务是这样的:在字符串中你需要找到一个匹配的ИП
or МКУ
,所以
- 项目清单
- 如果
МКУ|ИП
前面还有其他俄文字母,那么前面МКУ|ИП
必须有空格 - 如果后面
МКУ|ИП
还有其他俄文字母,那么后面МКУ|ИП
一定有空格 - 字符串可以是简单的
МКУ
或ИП
МКУ|ИП
可以在一行的开头或结尾- 周围可能有
МКУ|ИП
引号或其他非俄语字符
要查找
МКУ
或ИП
在字符串中的任何位置,除了俄语字母的两个字母之间,您可以使用请参阅正则表达式演示。
细节
(^|[^а-яА-ЯёЁ])
- 字符串开头 (^
) 或 (|
) 以外的任何字符[^а-яА-ЯёЁ]
(МКУ|ИП)
-МКУ
或ИП
(?![а-яА-ЯёЁ])
МКУ
- 向前预览块,它要求在或之后没有俄罗斯字母ИП
。如果您当前的环境支持 ECMAScript 2018 标准(例如最新版本的 Chrome、Node.JS),您可以在表达式的开头使用向后预览块而不是捕获子模式: