我有点问题。我有很多文本文档,我需要复制到html中尝试加快程序,我一直在寻找搜索并替换正则表达式,以帮助我为不同的文本添加粗体标记。
我有很多这样的文字:
1. Centrum Multimineral Vitamin x 30 £3.19 was £4.79 (11p per tablet)
我正在尝试编写正则表达式搜索并替换以查找带有点和空格的数字与第一个价格之间的所有文本。我希望find和replace能够做到这一点:
<b>1. Centrum Multimineral Vitamin x 30 £3.19</b> was £4.79 (11p per tablet)
到目前为止,我已经写过这样的表达式:
搜索:
([0-9]{1}[\.\s][\s\D]?[^<]*)(\£\d\.\d\d[^<])
替换为:
<b>$1$2</b>
输出:
<b>1. Centrum Multimineral Vitamin x 30 £3.19 was £4.79</b> (11p per tablet)
如何更改此搜索以使其在第一个£符号处停止并包含价格?
答案 0 :(得分:0)
尝试这个小修改:
([0-9]{1}[\.\s][\s\D]?[^<]*?)(\£\d\.\d\d[^<])
^
我添加了?
,这使得星号*
运算符不情愿(懒惰)所以它逐字符地读取输入字符串而不是一直到最后,然后回溯试图找到\£\d\.\d\d[^<]
。