如何编写常规表达来替换某些字符串的多次出现?

时间:2017-04-02 07:58:19

标签: regex replace

我有一个字符串

Subtracting polynomials:
Term 1:   2x^3 + 1x^2 + 4x - 9
Term 2:   2x^3 + 1x^2 + 4x - 9
Difference:   0
Term 1:   2x^3 + 1x^2 + 4x - 9
Term 2:   3x^2 - 4x + 8
Difference:   2x^3 - 2x^2 + 8x - 17
Term 1:   2x^3 + 1x^2 + 4x - 9
Term 2:   -4x^2 + 5x + 3
Difference:   2x^3 + 5x^2 - 1x - 12
Term 1:   2x^3 + 1x^2 + 4x - 9
Term 2:   5x^4 - 5
Difference:   -5x^4 + 2x^3 + 1x^2 + 4x - 4
Term 1:   2x^3 + 1x^2 + 4x - 9
Term 2:   2x^3 - 8x^2 + 4x
Difference: + 9x^2 - 9

Term 1:   3x^2 - 4x + 8
Term 2:   2x^3 + 1x^2 + 4x - 9
Difference:   -2x^3 + 2x^2 - 8x + 17
Term 1:   3x^2 - 4x + 8
Term 2:   3x^2 - 4x + 8
Difference:   0
Term 1:   3x^2 - 4x + 8
Term 2:   -4x^2 + 5x + 3
Difference:   7x^2 - 9x + 5
Term 1:   3x^2 - 4x + 8
Term 2:   5x^4 - 5
Difference:   -5x^4 + 3x^2 - 4x + 13
Term 1:   3x^2 - 4x + 8
Term 2:   2x^3 - 8x^2 + 4x
Difference:   -2x^3 + 11x^2 - 8x + 8

Term 1:   -4x^2 + 5x + 3
Term 2:   2x^3 + 1x^2 + 4x - 9
Difference:   -2x^3 - 5x^2 + 1x + 12
Term 1:   -4x^2 + 5x + 3
Term 2:   3x^2 - 4x + 8
Difference:   -7x^2 + 9x - 5
Term 1:   -4x^2 + 5x + 3
Term 2:   -4x^2 + 5x + 3
Difference:   0
Term 1:   -4x^2 + 5x + 3
Term 2:   5x^4 - 5
Difference:   -5x^4 - 4x^2 + 5x + 8
Term 1:   -4x^2 + 5x + 3
Term 2:   2x^3 - 8x^2 + 4x
Difference:   -2x^3 + 4x^2 + 1x + 3

Term 1:   5x^4 - 5
Term 2:   2x^3 + 1x^2 + 4x - 9
Difference:   5x^4 - 2x^3 - 1x^2 - 4x + 4
Term 1:   5x^4 - 5
Term 2:   3x^2 - 4x + 8
Difference:   5x^4 - 3x^2 + 4x - 13
Term 1:   5x^4 - 5
Term 2:   -4x^2 + 5x + 3
Difference:   5x^4 + 4x^2 - 5x - 8
Term 1:   5x^4 - 5
Term 2:   5x^4 - 5
Difference:   0
Term 1:   5x^4 - 5
Term 2:   2x^3 - 8x^2 + 4x
Difference:   5x^4 - 2x^3 + 8x^2 - 4x - 5

Term 1:   2x^3 - 8x^2 + 4x
Term 2:   2x^3 + 1x^2 + 4x - 9
Difference: - 9x^2 + 9
Term 1:   2x^3 - 8x^2 + 4x
Term 2:   3x^2 - 4x + 8
Difference:   2x^3 - 11x^2 + 8x - 8
Term 1:   2x^3 - 8x^2 + 4x
Term 2:   -4x^2 + 5x + 3
Difference:   2x^3 - 4x^2 - 1x - 3
Term 1:   2x^3 - 8x^2 + 4x
Term 2:   5x^4 - 5
Difference:   -5x^4 + 2x^3 - 8x^2 + 4x + 5
Term 1:   2x^3 - 8x^2 + 4x
Term 2:   2x^3 - 8x^2 + 4x
Difference:   0

我想将其更改为

<sec:authorize ifAnyGranted="ROLE_BAR,ROLE_FOO,ROLE_USER">  

请注意,角色数量可以从一个到几个。

我可以使用 <sec:authorize access="hasAnyRole('ROLE_BAR','ROLE_FOO','ROLE_USER')"> 搜索是否只有一个角色,例如<sec:authorize\s+ifAnyGranted="(\w+)"\s*>

当然,如果有两个,我可以将其写为<sec:authorize ifAnyGranted="ROLE_USER">并使用<sec:authorize\s+ifAnyGranted="(\w+),(\w+)"\s*>替换找到的字符串。

但是如何在一条迹线中替换所有这些模式?有可能吗?

0 个答案:

没有答案