小编mal*_*bu2的帖子

正则表达式排除特定字符

我有一个正则表达式公式,可用于查找数据中的特定模式。具体来说,它首先在“ {}”括号之间寻找字符,然后寻找“ p。”并在其后获取数字。我注意到,在某些情况下,如果方括号后不久没有“ p。”值,它将继续经过下一个方括号并在其后获取数字。

例如,这是我的示例数据:

{Hello}, [1234] (Test). This is sample data used to answer a question {Hello2} [Ch.8 p. 87 gives more information about...
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

\{(.*?)\}(.*?)p\. ([0-9]+)
Run Code Online (Sandbox Code Playgroud)

我希望它只返回此:

{Hello2}  [Ch.8 p. 87
Run Code Online (Sandbox Code Playgroud)

但它返回以下内容:

{Hello},  [123:456] (Test).  This is stample data used to answer a
question {Hello2}  [Ch.8 p. 87
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以排除包含“ {”的字符串?

regex

6
推荐指数
1
解决办法
88
查看次数

标签 统计

regex ×1