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