regex - 如何使用忽略的单词作为匹配的分隔符
问题描述
我正在分析以下格式的查询字符串:
Product:123 or Price:>50 or Price:<100
我需要的比赛是:产品:123,价格:>50,价格:<100
使用以下正则表达式可以正常工作:
[\S]+[:][\S]+
但是,现在我遇到了一些情况,其中查询字符串中可以包含带有空格的单词,例如:
New Price:456 or Product Type:Video Game
我需要的比赛是:新价格:456,产品类型:电子游戏
匹配的分隔符将始终是单词 AND 或 OR。我查看了一些与我的问题相似的其他问题,它们似乎都使用了负前瞻,但是我很难让它对我有用。
我试图使用负前瞻来匹配除 AND 或 OR 之外的所有内容。
解决方案
你可以试试这个。\s*((?:(?!and|or).)*)\s
推荐阅读
- google-apps-script - Google 表格插件未触发 GTM 中的自定义事件
- python - 接收 'list' 对象没有属性 'groupby' 不知道为什么
- dictionary - 静态地图的图标
- bullmq - 通过 queue.add 中传递的数据识别可重复的作业
- java - 我的图标图像没有出现在 Mac 上的 JFrame 中
- angular - 在 Angular 的 mat-select 中显示默认选择的选项
- javascript - 如何使用 javascript 在移动设备上触发虚拟键盘?
- microsoft-teams - 是否可以在没有用户的情况下打开 MS Teams“聊天的深层链接”?
- aframe - A-Frame 360 视频可在 VR 分屏视图中查看
- google-sheets - QUERY - Google 表格 - 过滤条件