Python Regex在句子中找到特别的

时间:2018-06-11 07:52:40

标签: python regex

我是正则表达式的新手我正在搜索下面的句子:

OCEU0H - Debt securities issued by multilateral development company a. OCEU0J - Debt securities issued by private company

应该是: - ['OCEU0H','OCEU0J']

OC始终处于开始状态,EU将是任何输入国家/地区代码。

我的尝试是: - r'\b+(^(OC)\W+)\b+'

另外,请为我提供正则表达式的最佳教程或文档。

1 个答案:

答案 0 :(得分:3)

您需要使用

\bOC\w+\b

请参阅regex demo

要匹配单词字符,您需要使用\w,而不是\W。请注意,如果您只想在OC之后匹配ASCII字母,则使用[A-Za-z]而不是\w(任何字母,数字或_)更有意义。

您不应量化\b(字边界)等零宽度断言,并且不应在^之前使用OC锚点,因为^与sting的开始匹配。

模式详情

  • \b - 字边界
  • OC - 文字子字符串
  • \w+ - 一个或多个单词字符(如果使用[A-Za-z]+,则为任意1个ASCII字母)
  • \b - 字边界