我有这个正则表达式:
\ba\.?b\.?c\.?\b( something)?
匹配的
- 美国广播公司
- 美国广播公司
- abc 的东西
- ...
我按重要性顺序使用了 2 次:首先我尝试^
在行首和$
行尾添加,因为我想找到一个与上述情况完全相同的字符串。如果什么也没找到,约束被删除,我接受了类似的字符串
- 富 abc 富
- 废话 abc 废话
问题是在第一种情况a.b.c.
下\b
与$
. 所以如果我使用
^\ba\.?b\.?c\.?\b( something)?$
简单a.b.c.
的不匹配,因为圆括号中的部分被“忽略”并且\b
靠近的部分$
具有我无法理解的行为。另一方面a.b.c
(没有最后一个点)将匹配
如果我在一切正常的情况下更改第二个\b
,\W
但我不确定我是否会匹配其他不需要的字符串。关于如何仅使用一个正则表达式解决此问题的任何想法?
如果这可能相关,我正在使用 Python