regex - matlab又一个正则表达式问题
问题描述
我想匹配一个令牌,除非它完全是另一个字符串:
str ='354 : example - asd: 3, test:';
str2='354 : example2 - airplane,';
[~,tok]=regexp(str,'\d+ : (\w+) - (?(~asd)\w+)','match','tokens','once','warnings')
我想匹配airplane
但不 asd
匹配,但我不知道如何使条件起作用(MathWorks 上的示例不是很有帮助)。
解决方案
[~,tok]=regexp(str2,'\d+ : (\w+) - (?:asd)*(\w+)*','match','tokens','once','warnings')
这对我有用。
请指出是否有缺陷或更好的解决方案。感谢@Deep 指出该组但没有捕捉到可能性
推荐阅读
- java - 导入 javax.annotation.PostConstruct 无法解析
- python - 如何通过 Selenium 和 Python 在 Instagram 中点击“Not Now”按钮
- php - 无法将数据从 html 表单发送到 mysql
- r - 如何用其他列替换数据框中的 NA
- arrays - 连接 4 对角线获胜检查
- c - 如何将字符串值转换为数值?
- python - 如何列出 OpenAI 健身房中每个状态的可能后继状态?(严格用于正常的 MDP)
- javascript - 为什么以及在哪里需要 bundle.js?
- regex - 正则表达式:搜索特定的变音符号并用 ASCII 替换特定标签(记事本++)
- python-3.x - opencv 中的 ROI 坐标如何工作