我是正则表达式的新手,正在以下句子中进行搜索:OCEU0H - Debt securities issued by multilateral development companya. OCEU0J - Debt securities issued by private company
出应该是:-['OCEU0H','OCEU0J']
OC
总是开头,EU
是任何输入的国家/地区代码。
我的尝试是:-r'\b+(^(OC)\W+)\b+'
还请为我建议最好的正则表达式教程或文档。
最佳答案
您需要使用
\bOC\w+\b
请参见regex demo
要匹配单词字符,您需要使用
\w
,而不是\W
。请注意,如果只想在OC
之后匹配ASCII字母,则使用[A-Za-z]
而不是\w
(任何字母,数字或_
)更有意义。您不应该量化像
\b
(单词边界)这样的零宽度断言,也不应在^
之前使用OC
锚,因为^
与字符串的开头匹配。图案细节
\b
-单词边界OC
-文字子字符串\w+
-1个或多个单词字符(如果使用[A-Za-z]+
,则为任何1+ ASCII字母)\b
-单词边界