我有以下正则表达式: -
^(?:\[ [^\]]+ \]) ([\-\£]{1,2}[0-9]+\.[0-9][0-9]?)?
以下文字: -
John Doe
+++++++++++++++++++++++++++++++++++++++++++
Blah blah
+++++++++++++++++++++++++++++++++++++++++++
[ √ ] £3.00 Red
[ √ ] £2.00 Blue
[ √ ] £55.55 Yellow
[ √ ] -£41.75 PAYMENT
[ √ ] £5.00 Green
[ √R ] £10.00 Pink
+++++++++++++++++++++++++++++++++++++++++++
Belugh
+++++++++++++++++++++++++++++++++++++++++++
Blah blah
Blah
正则表达式正常并匹配: -
£3.00
£2.00
£55.55
-£41.75
£5.00
£10.00
我想要做的是让正则表达式与'£'匹配,但不要在捕获组中返回它。
所以结果会是这样的: -
3.00
2.00
55.55
-41.75
5.00
10.00
重要的一点是' - '字符应该保留,但发生在'£'字符之前。
Theres a fiddle here
答案 0 :(得分:2)
你能做的最好就是:
^(?:\[ [^\]]+ \]) (-?)[\£]([0-9]+\.[0-9][0-9]?)?
然后从匹配中提取第1组和第2组,并将它们添加到您正在使用的语言/环境中。
答案 1 :(得分:1)
我通过在捕获组中包含“£”然后简单地用我正在使用的语言的匹配结果中的“无”替换该符号来做到这一点。