繁体   English   中英

Python 获取关键字之间的文本

[英]Python Get text between keywords

我想获取某些关键字 [en] 和 [ja] 之间的文本

所以对于下面的例子:

[en]
Text
- Example
- Example
- Example

[ja]
Text
 - 例
 - 例
 - 例

我只需要它返回:

Text
- Example
- Example
- Example

我试过使用正则表达式:

([en])(.|\n)+?([ja])

但它只抓取第一行的前 2 个字符。 我在这里做错了什么?

您可以使用此正则表达式来捕获[en][ja]之间的文本:

\[en]\n((?:.*\n)*?)\n\[ja]

正则表达式演示

正则表达式详细信息:

  • \[en]\n : 匹配[en]后跟换行符
  • ((?:.*\n)+?) :匹配任何后跟换行符的内容。 重复该组 1 次以上(惰性匹配)并在组 #1 中捕获匹配的文本
  • \n\[ja] : 匹配换行符后跟[ja]

捕获 [en] 和 [ja] 之间的所有文本

(?<=\[en\]\n)(?:(?:.*\n)+?)(?=\n\[ja\])

正则表达式工作链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM