regex - 我如何只选择特定的单词?
问题描述
ant apple bat
使用我只想选择的字符串ant
,bat
而不选择苹果或任何空格。
我尝试了一些不同的方法,例如;
\bant\b\bbat\b
或者
ant\bbbat\b
或者
(\b(ant)\b.*\b(bat)\b)
或者
ant(?:.*)bat
或者
ant(?:\sapple\s)bat
或者
(ant)*[^a-z\s]*(bat)
我知道上面的例子很愚蠢,但我只是在搞乱正则表达式测试器试图弄清楚它。我以前做过正则表达式,我想通了,但似乎不记得我是怎么做到的。仅选择“ant”和“bat”似乎很简单,但显然不是。有没有办法取消选择匹配或删除部分匹配?
解决方案
交替使用非捕获组:
(?:\bant\b|\bbat\b)
推荐阅读
- regex - VS代码正则表达式替换部分字符串并保留其他
- spring-boot - 在边缘浏览器的头部添加访问令牌
- python - 仅当没有此类任务正在运行或计划时才创建 celery 任务
- c# - 无法从他人创建的共享链接 URL 中获取信息
- regex - 如果匹配 7 个字符,则正则表达式 (-) 之前的所有内容
- flutter - 是否可以在颤动中使用 localhost woocommerce rest api 发布数据
- powershell - PowerShell 在源文件夹和目标文件夹之间同步文件并替换目标文件夹中的最新文件
- c# - 如何在WPF的情节提要动画中将宽度值作为百分比
- mysql - SQL SELF JOIN 如果不存在则返回 null
- oracle - Oracle Sql Developer 应用程序中的隐藏双引号