python - 提到解析正则表达式

时间:2016-01-20 10:39:24

标签: python regex

我需要帮助弄清楚如何正确实现正则表达式。

pattern = re.compile(r'\[(^[a-z0-9]*|[a-z0-9][^]]*)]')

重点是解析像'Text [123 | Foo bar] text'这样的语句 人类可读的正则表达式是 - [0-9 |任何符号]。

UPD: 预期结果:

>>> input = 'text [1|Foo bar] text [222|Text] abc'
>>> pattern.findall(input)
[('1', 'Foo bar'), ('222', 'Text')]

1 个答案:

答案 0 :(得分:1)

您可以使用

DB::select('SELECT * FROM `tableA` CROSS JOIN `tableB`');

请参阅regex demo

正则表达式:

  • \[(\d+)\|([^][]*)] - 打开方括号
  • \[ - 第1组匹配一个或多个数字
  • (\d+) - 文字\|
  • | [([^][]*) - Group 1 matching zero or more characters other than]`。
  • and - 关闭]

Python demo

]