非捕获组后的正则表达式特定模式

时间:2018-06-18 11:13:21

标签: regex python-3.x

我有这个例子正则表达式:

https://regex101.com/r/CoLrOA/5/

我想提取单词remuneração之后的第一个货币匹配,即1.200.000,00 EUR

这些货币匹配应该找到匹配,无论货币符号是在数字之前还是之后。

我试过这种模式:

(?:(?<=remuneração).*)(\€|EUR) *(?!0|\.00)[0-9]+(.\d{3})*(.[0-9]{0,2})|(?!0|\.00)[0-9]+(.\d{3})*(.[0-9]{0,2}) *|(\€|EUR)

但它也匹配在该特定字词之前找到的所有货币。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:-1)

使用@revo评论建议,最终使用此变体可以考虑货币符号以及3个字母的代码:

public function up()
{
    Schema::create('designs', function(Blueprint $table)
    {
        $table->integer('id', true);
        $table->string('design', 191)->nullable();
        $table->engine = 'InnoDB';
    });
}