我对正则表达式非常陌生,我正在以下句子中搜索:
OCEU0H - 多边开发公司发行的债务证券
A。 OCEU0J - 私有(private)公司发行的债务证券
输出应该是:-
['OCEU0H','OCEU0J']
OC
始终位于开头,EU
将是任何输入的国家/地区代码。
我的尝试是:-
r'\b+(^(OC)\W+)\b+'
另外,请向我推荐正则表达式的最佳教程或文档。
最佳答案
您需要使用
\bOC\w+\b
请参阅regex demo
要匹配单词字符,您需要使用\w
,而不是\W
。请注意,如果您只想匹配 OC
之后的 ASCII 字母,则使用 [A-Za-z]
而不是 \w
更有意义>(任何字母、数字或_
)。
您不应量化诸如 \b
(字边界)之类的零宽度断言,也不应在 OC
之前使用 ^
anchor 作为 ^
匹配 sting 的开头。
图案详细信息
\b
- 单词边界OC
- 文字子字符串\w+
- 1 个或多个单词字符(如果使用[A-Za-z]+
,则为任何 1+ ASCII 字母)\b
- 单词边界
关于Python正则表达式在句子中查找特定内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50792821/