我需要帮助弄清楚如何正确实现正则表达式。
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')]
答案 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
- 关闭]
]